@charset "UTF-8";
.mainArea {
  clear: both;
  width: 100%;
  min-width: 960px;
  height: 600px;
  overflow: hidden;
  padding-top: 98px;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  position: relative; }
  .mainArea img {
    max-width: inherit; }
  @media screen and (max-width: 767px) {
    .mainArea {
      display: none; } }
  .mainArea * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  .mainArea p {
    margin: 0; }
  .mainArea img {
    vertical-align: bottom; }
  .mainArea .slider01 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 600px;
    z-index: -1; }
    .mainArea .slider01 .bg {
      height: 600px;
      margin: 0; }
      .mainArea .slider01 .bg.bg01 {
        background: #000 url("../img/main_slider01_img01.webp") no-repeat 50% 50%/auto 100%; }
      .mainArea .slider01 .bg.bg02 {
        background: #000 url("../img/main_slider01_img02.webp") no-repeat 50% 50%/auto 100%; }
      .mainArea .slider01 .bg.bg03 {
        background: #000 url("../img/main_slider01_img03.webp") no-repeat 50% 50%/auto 100%; }
      .mainArea .slider01 .bg.bg04 {
        background: #000 url("../img/main_slider01_img04.webp") no-repeat 50% 50%/auto 100%; }
      .mainArea .slider01 .bg.bg05 {
        background: #000 url("../img/main_slider01_img05.webp") no-repeat 50% 50%/auto 100%; }
  .mainArea .tx01 {
    position: absolute;
    top: 98px;
    left: 50%;
    margin-left: -475px;
    z-index: 2;
    font-weight: 900;
    color: #fff;
    font-size: 32.83px;
    line-height: 1;
    display: inline-block; }
    .mainArea .tx01 .name {
      font-family: "Oswald", system-ui;
      font-optical-sizing: auto;
      font-weight: 600;
      font-style: normal;
      font-feature-settings: "palt"; }
      .mainArea .tx01 .name .g {
        display: inline-block;
        font-size: 58.32px;
        transform: skewX(-9deg);
        margin-top: 0.25em; }
      .mainArea .tx01 .name .m {
        display: inline-block;
        font-size: 101.87px;
        transform: skewX(-9deg);
        margin-top: 0.05em;
        margin-left: -0.075em; }
      .mainArea .tx01 .name .s {
        display: inline-block;
        width: 100%;
        color: #ff7240;
        text-align: right;
        font-size: 59.54px;
        transform: skewX(-9deg);
        padding-right: 0.1em;
        margin-top: 0.15em; }
  .mainArea .tx02 {
    position: absolute;
    top: 17px;
    left: calc(50% + 163px);
    z-index: 2; }
    .mainArea .tx02 img {
      width: 320px; }
  .mainArea .logo01 {
    position: absolute;
    top: 431px;
    left: 50%;
    margin-left: -478px;
    z-index: 2; }
    .mainArea .logo01 img {
      width: 416px; }

/* カラム
*****************************************/
.column_inspection {
  width: 812px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 20px;
  height: 100%; }

.column .colLeft {
  float: left; }

.column .colRight {
  float: right; }

/* 今回使用 
*****************************************/
.area01,
.area02,
.area03,
.area04,
.area05 {
  box-sizing: border-box; }
  .area01 p,
  .area02 p,
  .area03 p,
  .area04 p,
  .area05 p {
    color: #000;
    margin-bottom: 0; }
  .area01 *,
  .area02 *,
  .area03 *,
  .area04 *,
  .area05 * {
    box-sizing: border-box; }

.area01 {
  overflow: hidden;
  background: #c6e92f;
  position: relative; }
  @media screen and (min-width: 768px) {
    .area01 {
      min-height: 847.5px; } }
  .area01::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 279px;
    width: 100%;
    height: 6.04vw;
    background: #fff;
    clip-path: polygon(100% 0%, 100% 100%, 0% 100%); }
    @media screen and (max-width: 767px) {
      .area01::before {
        bottom: 36.5vw;
        height: 5.875vw; } }
  .area01 .inner01 {
    padding: 63px 0 50px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .area01 .inner01 {
        padding: 10vw 0 7.5vw; } }
    .area01 .inner01::before {
      content: '';
      position: absolute;
      bottom: 0;
      width: 100%;
      height: 280px;
      background: #fff; }
      @media screen and (max-width: 767px) {
        .area01 .inner01::before {
          height: 36.75vw; } }
    .area01 .inner01 .ti01 {
      color: #000;
      text-align: center;
      font-weight: 700;
      font-size: 28px;
      line-height: 1.7; }
      @media screen and (max-width: 767px) {
        .area01 .inner01 .ti01 {
          font-size: 4.5vw;
          line-height: 1.65;
          margin-bottom: 2vw; } }
      .area01 .inner01 .ti01 span {
        font-size: 51.73px; }
        @media screen and (max-width: 767px) {
          .area01 .inner01 .ti01 span {
            font-size: 8.625vw; } }
    .area01 .inner01 .img01Wrap {
      height: 457px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .area01 .inner01 .img01Wrap {
          height: 37.825vw;
          margin-top: 6.5vw;
          margin-bottom: 6vw; } }
      @media screen and (min-width: 768px) {
        .area01 .inner01 .img01Wrap .img01 {
          position: absolute;
          top: 15px;
          left: 50%;
          width: 1184px;
          margin-left: -583px;
          z-index: 2; } }
    .area01 .inner01 .tx01 {
      text-align: center;
      font-weight: 700;
      font-size: 20px;
      line-height: 1.5;
      margin-top: 11px; }
      @media screen and (max-width: 767px) {
        .area01 .inner01 .tx01 {
          font-size: 3.5vw; } }

.area02 {
  position: relative;
  background: url("../img/bg01.webp") no-repeat 50% 50%/cover; }
  @media screen and (min-width: 768px) {
    .area02 {
      min-height: 949px; } }
  @media screen and (max-width: 767px) {
    .area02 {
      background: url("../img/bg01s.webp") no-repeat 50% 50%/cover; } }
  .area02 > .inner01 {
    padding: 66px 0 85px; }
    @media screen and (max-width: 767px) {
      .area02 > .inner01 {
        padding: 13.5vw 0 8.25vw; } }
    .area02 > .inner01 .ti01 {
      color: #000;
      text-align: center;
      font-weight: 700;
      font-size: 38.8px;
      line-height: 1.55;
      margin-bottom: 13px; }
      @media screen and (max-width: 767px) {
        .area02 > .inner01 .ti01 {
          line-height: 1.2352941176;
          font-size: 8.62vw;
          margin-bottom: 5.5vw; } }
    .area02 > .inner01 .img01Wrap {
      position: relative;
      overflow: hidden;
      height: 538px;
      margin-top: 9px;
      margin-bottom: 9px; }
      @media screen and (max-width: 767px) {
        .area02 > .inner01 .img01Wrap {
          height: auto;
          margin-top: 2.75vw;
          margin-bottom: 9vw; } }
      @media screen and (min-width: 768px) {
        .area02 > .inner01 .img01Wrap .img01 {
          position: absolute;
          top: 0;
          left: 50%;
          width: 1512px;
          margin-left: -503px; } }
      @media screen and (max-width: 767px) {
        .area02 > .inner01 .img01Wrap .img01 {
          width: 100%; } }
    .area02 > .inner01 .tx01 {
      text-align: center;
      font-weight: 700;
      font-size: 20px;
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        .area02 > .inner01 .tx01 {
          line-height: 1.5555555556;
          font-size: 4.5vw; } }
    .area02 > .inner01 .tx02 {
      text-align: center;
      font-weight: 700;
      font-size: 20px;
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        .area02 > .inner01 .tx02 {
          line-height: 1.4285714286;
          font-size: 3.5vw; } }
      .area02 > .inner01 .tx02 + .tx02 {
        margin-top: 1em; }

.area03 {
  position: relative;
  overflow: hidden;
  background: url("../img/bg02.webp") no-repeat 50% calc(100% - 58px); }
  @media screen and (min-width: 768px) {
    .area03 {
      min-height: 832px; } }
  @media screen and (max-width: 767px) {
    .area03 {
      background: none; } }
  .area03 > .inner01 {
    padding: 66px 0 0;
    width: 960px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .area03 > .inner01 {
        width: 100%;
        padding: 13vw 0 10px; } }
    .area03 > .inner01 .ti01 {
      color: #000;
      text-align: center;
      font-weight: 700;
      font-size: 24.37px;
      line-height: 1.55;
      margin-bottom: 13px;
      opacity: 0;
      transform: translateY(36px);
      transition-property: transform, opacity;
      transition-duration: 0.7s;
      transition-timing-function: ease-in-out; }
      @media screen and (max-width: 767px) {
        .area03 > .inner01 .ti01 {
          line-height: 1.5;
          font-size: 4.665vw; } }
      .area03 > .inner01 .ti01 span {
        font-size: 46.6px; }
        @media screen and (max-width: 767px) {
          .area03 > .inner01 .ti01 span {
            font-size: 8.62vw; } }
        .area03 > .inner01 .ti01 span sup {
          font-weight: 400;
          font-size: 18px;
          position: relative;
          top: 0.5em; }
          @media screen and (max-width: 767px) {
            .area03 > .inner01 .ti01 span sup {
              font-size: 14px; } }
    .area03 > .inner01 .tx01 {
      color: #0078ff;
      font-size: 29.4px;
      font-weight: 700;
      position: absolute;
      top: 100px;
      left: 50%;
      transform-origin: bottom center;
      opacity: 0;
      transition: margin-left 0.7s cubic-bezier(0.15, 0.85, 0.25, 1), opacity 0.7s cubic-bezier(0.15, 0.85, 0.25, 1), transform 0.5s cubic-bezier(0.55, 0, 1, 1); }
      .area03 > .inner01 .tx01 span {
        font-family: "Oswald", system-ui;
        font-optical-sizing: auto;
        font-weight: 600;
        font-style: normal;
        font-feature-settings: "palt";
        font-size: 29.4px; }
        .area03 > .inner01 .tx01 span span {
          font-size: 58.5px;
          margin-right: 0.05em;
          letter-spacing: -0.02em; }
@keyframes clipReveal {
  from {
    clip-path: inset(0 100% 0 0); }
  to {
    clip-path: inset(0 0% 0 0); } }
      .area03 > .inner01 .tx01.type01 {
        top: 106px;
        margin-left: 111px; }
        .area03 > .inner01 .tx01.type01::before {
          content: '';
          position: absolute;
          top: 61px;
          left: 279px;
          width: 217px;
          height: 57px;
          background: url("../img/line02.webp") no-repeat 0 0;
          clip-path: inset(0 100% 0 0); }
      .area03 > .inner01 .tx01.type02 {
        top: 8px;
        margin-left: 111px; }
        .area03 > .inner01 .tx01.type02::before {
          content: '';
          position: absolute;
          top: 63px;
          left: 279px;
          width: 490px;
          height: 40px;
          background: url("../img/line01.webp") no-repeat 0 0;
          clip-path: inset(0 100% 0 0); }
    .area03 > .inner01 .tx02Wrap .tx02 {
      text-align: center;
      color: #0078ff;
      font-size: 16px;
      line-height: 1.05;
      font-weight: 900;
      margin-bottom: 7px; }
      .area03 > .inner01 .tx02Wrap .tx02 span {
        font-family: "Oswald", system-ui;
        font-optical-sizing: auto;
        font-weight: 500;
        font-style: normal;
        font-feature-settings: "palt";
        font-size: 44px; }
      .area03 > .inner01 .tx02Wrap .tx02.type02 {
        color: #858585; }
    .area03 > .inner01 .tx02Wrap .tx03 {
      text-align: center;
      color: #0078ff;
      font-size: 20px;
      line-height: 1.1;
      font-weight: 700;
      margin-bottom: 5px; }
      .area03 > .inner01 .tx02Wrap .tx03.type02 {
        color: #858585; }
    .area03 > .inner01 .tx02Wrap .tx04 {
      text-align: center;
      color: #0078ff;
      font-size: 12px;
      line-height: 1.1;
      font-weight: 400; }
      .area03 > .inner01 .tx02Wrap .tx04.type02 {
        color: #858585; }
    .area03 > .inner01 .tx02Wrap.type02, .area03 > .inner01 .tx02Wrap.type03 {
      position: absolute;
      bottom: -2px;
      left: 50%;
      opacity: 0;
      transition: opacity 0.7s ease-in-out, margin-left 0.7s cubic-bezier(0.15, 0.85, 0.25, 1); }
    .area03 > .inner01 .tx02Wrap.type02 {
      margin-left: 7px; }
    .area03 > .inner01 .tx02Wrap.type03 {
      margin-left: 291px; }
    @media screen and (min-width: 768px) {
      .area03 > .inner01 .spImg01Wrap {
        display: none; } }
    @media screen and (max-width: 767px) {
      .area03 > .inner01 .spImg01Wrap {
        overflow-x: scroll;
        width: 100%;
        height: 103.375vw;
        margin-top: 8.25vw;
        margin-bottom: 5.25vw; }
        .area03 > .inner01 .spImg01Wrap .spImg01 {
          width: 223.75vw; } }
    .area03 > .inner01 .animeWrap {
      height: 570px;
      position: relative;
      margin-bottom: 44px; }
      @media screen and (max-width: 767px) {
        .area03 > .inner01 .animeWrap {
          display: none; } }
      .area03 > .inner01 .animeWrap .img01 {
        position: absolute;
        bottom: 115px;
        left: 50%;
        width: 400px;
        margin-left: 7px;
        transform-origin: bottom center;
        opacity: 0;
        transition: margin-left 1.2s cubic-bezier(0.15, 0.85, 0.25, 1), opacity 0.7s cubic-bezier(0.15, 0.85, 0.25, 1), transform 0.5s cubic-bezier(0.55, 0, 1, 1); }
      .area03 > .inner01 .animeWrap .tx02Wrap.type01 {
        position: absolute;
        bottom: -2px;
        left: 50%;
        margin-left: -91px;
        opacity: 0;
        transition: opacity 0.7s ease-in-out, margin-left 1.2s cubic-bezier(0.15, 0.85, 0.25, 1); }
      .area03 > .inner01 .animeWrap .img02 {
        position: absolute;
        bottom: 114px;
        left: 50%;
        width: 332px;
        margin-left: 447px;
        transform-origin: bottom center;
        opacity: 0;
        transition: margin-left 0.7s cubic-bezier(0.15, 0.85, 0.25, 1), opacity 0.7s cubic-bezier(0.15, 0.85, 0.25, 1); }
      .area03 > .inner01 .animeWrap .img03 {
        position: absolute;
        bottom: 117px;
        left: 50%;
        width: 325px;
        margin-left: 778px;
        transform-origin: bottom center;
        opacity: 0;
        transition: margin-left 0.7s cubic-bezier(0.15, 0.85, 0.25, 1), opacity 0.7s cubic-bezier(0.15, 0.85, 0.25, 1); }
    .area03 > .inner01.active .ti01 {
      opacity: 1;
      transform: translateY(0); }
    .area03 > .inner01.active .animeWrap .img01 {
      opacity: 1;
      margin-left: -193px; }
    .area03 > .inner01.active .animeWrap .tx02Wrap.type01 {
      opacity: 1; }
    .area03 > .inner01.active.small .img01 {
      transform: scale(0.76); }
    .area03 > .inner01.active.small.move01 .img01 {
      margin-left: -461px; }
    .area03 > .inner01.active.small.move01 .tx02Wrap.type01 {
      margin-left: -357px; }
    .area03 > .inner01.active.small.move02 .img02 {
      opacity: 1;
      margin-left: -53px; }
    .area03 > .inner01.active.small.move02 .img03 {
      opacity: 1;
      margin-left: 278px; }
    .area03 > .inner01.active.small.move02 .tx02Wrap.type02,
    .area03 > .inner01.active.small.move02 .tx02Wrap.type03 {
      opacity: 1; }
    .area03 > .inner01.active.small.move02.move03 .tx01.type01 {
      opacity: 1;
      margin-left: -389px; }
    .area03 > .inner01.active.small.move02.move03 .tx01.type02 {
      opacity: 1;
      margin-left: -389px; }
    .area03 > .inner01.active.small.move02.move03.line01 .tx01.type01::before, .area03 > .inner01.active.small.move02.move03.line01 .tx01.type02::before {
      animation: clipReveal 1s ease-in-out forwards; }
    .area03 > .inner01 .note {
      font-weight: 500;
      font-size: 12px;
      text-align: right;
      margin-right: 19px; }
      @media screen and (max-width: 767px) {
        .area03 > .inner01 .note {
          margin-right: 15px; } }

.area04 {
  position: relative;
  background: linear-gradient(180deg, #dfefff 0%, white 50%, white 100%); }
  .area04 > .inner01 {
    padding: 78px 0 113px; }
    @media screen and (max-width: 767px) {
      .area04 > .inner01 {
        padding: 12.75vw 0 8.75vw; } }
    .area04 > .inner01 .tx01 {
      text-align: center;
      font-weight: 700;
      font-size: 24.37px;
      line-height: 1.4; }
      @media screen and (max-width: 767px) {
        .area04 > .inner01 .tx01 {
          font-size: 4.5vw;
          margin-bottom: 4.75vw; } }
    .area04 > .inner01 .ti01 {
      color: #000;
      text-align: center;
      font-weight: 700;
      font-size: 46.6px;
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        .area04 > .inner01 .ti01 {
          line-height: 1.2209302326;
          font-size: 8.6vw; } }
    .area04 > .inner01 .img01Wrap {
      position: relative;
      overflow: hidden;
      margin-top: 20px;
      margin-bottom: 45px; }
      @media screen and (min-width: 768px) {
        .area04 > .inner01 .img01Wrap {
          height: 733px; } }
      @media screen and (max-width: 767px) {
        .area04 > .inner01 .img01Wrap {
          margin-top: 7vw;
          margin-bottom: 8.25vw; } }
      @media screen and (min-width: 768px) {
        .area04 > .inner01 .img01Wrap .img01 {
          position: absolute;
          top: 0;
          left: 50%;
          width: 1512px;
          margin-left: -395px; } }
    .area04 > .inner01 .tx02 {
      text-align: center;
      font-weight: 700;
      font-size: 18px;
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        .area04 > .inner01 .tx02 {
          line-height: 1.5555555556;
          font-size: 4.5vw; } }

.area05 {
  position: relative;
  background: #eee; }
  .area05 > .inner01 {
    width: 960px;
    margin: 0 auto;
    padding: 72px 0 100px; }
    @media screen and (max-width: 767px) {
      .area05 > .inner01 {
        width: 100%;
        padding: 53px 15px 100px; } }
    .area05 > .inner01 .ti01 {
      color: #000;
      text-align: center;
      font-weight: 700;
      font-size: 46.6px;
      line-height: 1.5;
      margin-bottom: 18px; }
      @media screen and (max-width: 767px) {
        .area05 > .inner01 .ti01 {
          font-size: 8.62vw;
          line-height: 1.2173913043;
          margin-bottom: 16px; } }
    .area05 > .inner01 .tx01 {
      text-align: center;
      font-weight: 700;
      font-size: 24.37px;
      line-height: 1.4;
      margin-bottom: 65px; }
      @media screen and (max-width: 767px) {
        .area05 > .inner01 .tx01 {
          font-size: 18px;
          line-height: 1.5555555556;
          margin-bottom: 55px; } }
    .area05 > .inner01 .tx02 {
      font-weight: 700;
      font-size: 20px;
      line-height: 1.4; }
      @media screen and (max-width: 767px) {
        .area05 > .inner01 .tx02 {
          font-size: 14px;
          padding-left: 20px; } }
    .area05 > .inner01 .graphArea01 {
      width: 100%;
      margin-top: 17px;
      margin-bottom: 33px; }
      @media screen and (max-width: 767px) {
        .area05 > .inner01 .graphArea01 {
          margin-bottom: 17px; } }
      .area05 > .inner01 .graphArea01 > .item {
        width: 100%;
        background: #f8f8f8;
        padding: 30px 20px;
        border-radius: 10px; }
        @media screen and (max-width: 767px) {
          .area05 > .inner01 .graphArea01 > .item {
            padding: 3.75vw 15px 7.5vw; } }
        .area05 > .inner01 .graphArea01 > .item + .item {
          margin-top: 10px; }
        .area05 > .inner01 .graphArea01 > .item.visible {
          opacity: 1;
          transform: translateY(0); }
        .area05 > .inner01 .graphArea01 > .item > .inner01 {
          display: flex;
          align-items: center; }
          @media screen and (max-width: 767px) {
            .area05 > .inner01 .graphArea01 > .item > .inner01 {
              flex-wrap: wrap; } }
          .area05 > .inner01 .graphArea01 > .item > .inner01 .name {
            width: 34.0217391304%;
            font-weight: 700;
            font-size: 20px; }
            @media screen and (max-width: 767px) {
              .area05 > .inner01 .graphArea01 > .item > .inner01 .name {
                order: 1;
                width: 85%;
                font-size: 18px;
                padding-left: 5px; } }
            @media screen and (max-width: 325px) {
              .area05 > .inner01 .graphArea01 > .item > .inner01 .name {
                font-size: 17px; } }
          .area05 > .inner01 .graphArea01 > .item > .inner01 .bar {
            width: 53.152173913%;
            height: 10px;
            background: #c0c0c0;
            position: relative;
            overflow: hidden; }
            .area05 > .inner01 .graphArea01 > .item > .inner01 .bar > .inner01 {
              height: 100%;
              width: 0;
              background: linear-gradient(90deg, #99c9ff, #0078ff);
              transition: width 0.75s ease-in-out; }
            @media screen and (max-width: 767px) {
              .area05 > .inner01 .graphArea01 > .item > .inner01 .bar {
                order: 3;
                width: 100%;
                margin-top: 8px; } }
          .area05 > .inner01 .graphArea01 > .item > .inner01 .value {
            width: 11.7391304348%;
            color: #0078ff;
            font-weight: 700;
            font-size: 20px;
            text-align: right; }
            @media screen and (max-width: 767px) {
              .area05 > .inner01 .graphArea01 > .item > .inner01 .value {
                order: 2;
                width: 15%;
                font-size: 18px; } }
    .area05 > .inner01 .noteWrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding: 0 20px; }
      @media screen and (max-width: 767px) {
        .area05 > .inner01 .noteWrap {
          padding: 0; } }
      .area05 > .inner01 .noteWrap ul li {
        color: 4b4b4b;
        font-weight: 400;
        font-size: 12px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          .area05 > .inner01 .noteWrap ul li {
            font-size: 10px; } }
        .area05 > .inner01 .noteWrap ul li + li {
          margin-top: 0.4em; }

.area06 {
  background: #000 url("../img/bg03.webp") no-repeat 50% 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    .area06 {
      background: #000 url("../img/bg03s.webp") no-repeat 50% 0/100%; } }
  .area06 > .inner01 {
    width: 960px;
    margin: 0 auto;
    padding: 86px 0 0;
    min-height: 756px; }
    @media screen and (max-width: 767px) {
      .area06 > .inner01 {
        width: 100%;
        padding: 0;
        min-height: inherit; } }
    @media screen and (max-width: 767px) {
      .area06 > .inner01 > .inner02 {
        padding: 9vw 3.75vw 0;
        min-height: 151.25vw;
        position: relative; } }
    @media screen and (max-width: 767px) {
      .area06 > .inner01 > .inner03 {
        background: #000;
        padding: 9.5vw 3.75vw 0;
        min-height: 100.75vw; } }
    .area06 > .inner01 .tx01 {
      color: #c6e92f;
      font-weight: 700;
      font-size: 46.42px;
      line-height: 1.28;
      margin-bottom: 40px; }
      @media screen and (max-width: 767px) {
        .area06 > .inner01 .tx01 {
          font-size: 8vw; } }
    .area06 > .inner01 .tx02 {
      color: #fff;
      font-weight: 700;
      font-size: 20px;
      line-height: 1.5;
      margin-bottom: 55px; }
      @media screen and (max-width: 767px) {
        .area06 > .inner01 .tx02 {
          font-size: 3.5675vw;
          margin-bottom: 3vw; } }
    .area06 > .inner01 .tx03 {
      color: #909090;
      font-weight: 700;
      font-size: 16px;
      line-height: 1.625;
      margin-bottom: 21px; }
      @media screen and (max-width: 767px) {
        .area06 > .inner01 .tx03 {
          font-size: 2.8525vw;
          margin-bottom: 4.5vw; } }
    .area06 > .inner01 .img01 {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end; }
      @media screen and (max-width: 767px) {
        .area06 > .inner01 .img01 {
          margin-left: -0.75vw;
          margin-right: -0.75vw; } }
      .area06 > .inner01 .img01 img {
        width: 116px;
        margin-right: 24px; }
        @media screen and (max-width: 767px) {
          .area06 > .inner01 .img01 img {
            width: 29vw;
            margin-right: 4.25vw; } }
      .area06 > .inner01 .img01 figcaption {
        color: #fff;
        font-weight: 700;
        font-size: 16px;
        line-height: 1.625;
        margin-bottom: -3px; }
        @media screen and (max-width: 767px) {
          .area06 > .inner01 .img01 figcaption {
            font-size: 3.25vw;
            margin-bottom: -0.75vw; } }
    .area06 > .inner01 .sizeWrap {
      color: #fff;
      font-weight: 500;
      font-size: 12px;
      line-height: 1.1;
      position: relative;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .area06 > .inner01 .sizeWrap {
          font-size: 1.94vw; } }
      .area06 > .inner01 .sizeWrap [class^="size"] {
        background-size: 100% 100%;
        clip-path: inset(0 100% 0 0);
        transition: clip-path 0.85s cubic-bezier(0.19, 1, 0.22, 1); }
      .area06 > .inner01 .sizeWrap .num {
        font-size: 16px; }
        @media screen and (max-width: 767px) {
          .area06 > .inner01 .sizeWrap .num {
            font-size: 2.5875vw; } }
      .area06 > .inner01 .sizeWrap .s {
        display: inline-block;
        opacity: 0;
        transform: translateY(8px);
        transition: opacity .35s ease, transform .35s ease; }
      .area06 > .inner01 .sizeWrap .size01 {
        position: absolute;
        background: url("../img/line03.svg") no-repeat 0 0;
        top: 486px;
        left: calc(50% + 102px);
        width: 153px;
        height: 105px;
        padding-top: 57px;
        padding-right: 18px; }
        @media screen and (max-width: 767px) {
          .area06 > .inner01 .sizeWrap .size01 {
            top: 112.75vw;
            left: 17vw;
            width: 24.75vw;
            height: 20.25vw;
            padding-top: 10vw;
            padding-right: 2.5vw;
            background-size: auto 100%; } }
      .area06 > .inner01 .sizeWrap .size02 {
        position: absolute;
        background: url("../img/line04.svg") no-repeat 0 0;
        top: 555px;
        left: calc(50% + 295px);
        width: 188px;
        height: 70px;
        padding-top: 26px;
        padding-left: 40px; }
        @media screen and (max-width: 767px) {
          .area06 > .inner01 .sizeWrap .size02 {
            top: 124vw;
            left: 48.25vw;
            width: 30.5vw;
            height: 23.25vw;
            padding-top: 4.25vw;
            padding-left: 6.5vw;
            background-size: 100% auto; } }
      .area06 > .inner01 .sizeWrap .size03 {
        position: absolute;
        background: url("../img/line05.svg") no-repeat 0 0;
        top: 65px;
        left: calc(50% + 494px);
        width: 65px;
        height: 466px;
        clip-path: inset(100% 0 0 0);
        padding-top: 259px; }
        @media screen and (max-width: 767px) {
          .area06 > .inner01 .sizeWrap .size03 {
            top: 45vw;
            left: 80.5vw;
            width: 10vw;
            height: 74.5vw;
            padding-top: 39vw;
            padding-left: 0.75vw;
            background-size: auto 100%; } }
      .area06 > .inner01 .sizeWrap.active .size01 {
        clip-path: inset(0 0 0 0); }
        .area06 > .inner01 .sizeWrap.active .size01 .s {
          opacity: 1;
          transform: translateY(0);
          transition-delay: .45s; }
      .area06 > .inner01 .sizeWrap.active .size02 {
        clip-path: inset(0 0 0 0);
        transition-delay: .45s; }
        .area06 > .inner01 .sizeWrap.active .size02 .s {
          opacity: 1;
          transform: translateY(0);
          transition-delay: .9s; }
      .area06 > .inner01 .sizeWrap.active .size03 {
        clip-path: inset(0 0 0 0);
        transition-delay: .9s; }
        .area06 > .inner01 .sizeWrap.active .size03 .s {
          opacity: 1;
          transform: translateY(0);
          transition-delay: 1.35s; }

.craftsmanshipArea {
  min-height: 450px;
  padding-top: 47px;
  position: relative; }
  @media screen and (min-width: 768px) {
    .craftsmanshipArea {
      background: #000 url("../img/craftsmanship/bg01.webp") no-repeat calc(50% + 400px) 0; } }
  @media screen and (max-width: 767px) {
    .craftsmanshipArea {
      background: #000 url("../img/craftsmanship/bg01s.webp") no-repeat 0 calc(50% + 7.25vw)/100%;
      min-height: 127.25vw;
      padding-top: 13.5vw; } }
  .craftsmanshipArea .c_inner01 {
    overflow: hidden; }
  .craftsmanshipArea .hdg {
    color: #fff;
    font-family: "Oswald", system-ui;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt";
    transform: skewX(-9deg);
    font-size: 45px;
    line-height: 1.5;
    margin-bottom: 37px; }
    @media screen and (max-width: 767px) {
      .craftsmanshipArea .hdg {
        font-size: 8.5vw;
        margin-bottom: 1.5vw; } }
  .craftsmanshipArea .tx01 {
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 20px; }
    @media screen and (max-width: 767px) {
      .craftsmanshipArea .tx01 {
        font-size: 4.5vw;
        margin-bottom: 3.5vw; } }
  .craftsmanshipArea .tx02,
  .craftsmanshipArea .tx03 {
    color: #b8b8b8;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 10px; }
    @media screen and (max-width: 767px) {
      .craftsmanshipArea .tx02,
      .craftsmanshipArea .tx03 {
        font-size: 3.5vw;
        line-height: 1.42;
        margin-bottom: 3.5vw; } }
    .craftsmanshipArea .tx02 + .tx02,
    .craftsmanshipArea .tx03 + .tx02 {
      margin-top: 1.1em; }
      @media screen and (max-width: 767px) {
        .craftsmanshipArea .tx02 + .tx02,
        .craftsmanshipArea .tx03 + .tx02 {
          margin-top: 1.3em; } }
  .craftsmanshipArea .tx03 {
    margin-top: 2.75em; }
    @media screen and (max-width: 767px) {
      .craftsmanshipArea .tx03 {
        margin-top: 0;
        position: absolute;
        left: 15px;
        bottom: 16.75vw; } }
