@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@800&display=swap");
* {
  box-sizing: border-box; }

.mainArea,
.featureLayout {
  clear: both; }
  .mainArea img,
  .featureLayout img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    vertical-align: bottom; }
  .mainArea p,
  .mainArea figure,
  .mainArea h1,
  .mainArea h2,
  .mainArea h3,
  .featureLayout p,
  .featureLayout figure,
  .featureLayout h1,
  .featureLayout h2,
  .featureLayout h3 {
    margin: 0; }

.mainArea {
  position: relative;
  width: 100%;
  margin: 0 auto 20px;
  overflow: hidden;
  background: url("../img/mainArea/bg02.webp") no-repeat 50% 100%/2200px 160px, url("../img/mainArea/bg01.webp") no-repeat 50% 0/2200px 800px; }
  @media screen and (max-width: 767px) {
    .mainArea {
      background: none; } }
  .mainArea > .inner01 {
    position: relative;
    width: 1200px;
    min-height: 780px;
    margin: 0 auto;
    padding: 80px 0 0; }
    @media screen and (max-width: 767px) {
      .mainArea > .inner01 {
        width: 100%;
        min-height: 173.75vw;
        padding: 5vw 3.75vw 0;
        background: url("../img/mainArea/bg01s.webp") no-repeat 50% 0/cover; } }
  .mainArea .tx01 {
    font-family: "Noto Serif JP", serif;
    font-size: 4.55rem;
    font-weight: 800;
    line-height: 1.35;
    color: #bbb6b0;
    margin-bottom: 54px; }
    @media screen and (max-width: 767px) {
      .mainArea .tx01 {
        margin-bottom: 0vw;
        font-size: 7.8975vw; } }
    .mainArea .tx01 span {
      font-size: 7.05rem; }
      @media screen and (max-width: 767px) {
        .mainArea .tx01 span {
          font-size: 12.225vw; } }
  @media screen and (min-width: 768px) {
    .mainArea .mainProduct {
      position: absolute;
      right: -40px;
      bottom: 39px;
      width: 699px; } }
  @media screen and (max-width: 767px) {
    .mainArea .mainProduct {
      margin-top: -0.5vw;
      width: 85.5vw;
      margin-bottom: 1.5vw; } }
  .mainArea .tx02 {
    font-weight: 500;
    font-size: 2.2rem;
    line-height: 1.75;
    color: #fff;
    margin-bottom: 17px; }
    @media screen and (max-width: 767px) {
      .mainArea .tx02 {
        font-size: 3.465vw;
        margin-bottom: 2.75vw; } }
  .mainArea .name {
    font-family: "Oswald", system-ui;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt";
    font-size: 9.3rem;
    line-height: 1.14;
    font-style: italic;
    color: #fff;
    letter-spacing: 0;
    margin-bottom: 99px; }
    @media screen and (max-width: 767px) {
      .mainArea .name {
        width: 100%;
        font-size: 14.60875vw;
        margin-bottom: 5.5vw; } }
    .mainArea .name span {
      color: #4c99ff; }
  .mainArea > .inner02 {
    position: relative;
    display: flex;
    align-items: center;
    width: 1200px;
    min-height: 160px;
    margin: 0 auto;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .mainArea > .inner02 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;
        gap: 4.5vw 2.5vw;
        width: 100%;
        min-height: 113vw;
        padding: 2.75vw 3.75vw;
        background: url("../img/mainArea/bg02s.webp") no-repeat 50% 0/cover; } }
  .mainArea .inner02 > div {
    width: 400px;
    margin-right: 12px; }
    @media screen and (max-width: 767px) {
      .mainArea .inner02 > div {
        width: 74vw;
        margin: 0; } }
  .mainArea .tx03 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 85px;
    height: 85px;
    margin-right: 14px;
    border-radius: 18px;
    background: #fff;
    color: #4d1c0f;
    font-weight: 900;
    font-size: 2.38rem;
    line-height: 1.12;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .mainArea .tx03 {
        width: 16vw;
        height: 16vw;
        border-radius: 15px;
        font-size: 4.5vw;
        margin-right: 0;
        margin-top: 5.5vw; } }
  .mainArea .inner02 > div p:nth-child(1) {
    font-weight: 900;
    font-size: 1.27rem;
    line-height: 1; }
    @media screen and (max-width: 767px) {
      .mainArea .inner02 > div p:nth-child(1) {
        font-size: 3.225vw; } }
    .mainArea .inner02 > div p:nth-child(1) span {
      font-size: 2rem;
      margin: 0 0.2em;
      position: relative;
      top: 0.1em; }
      @media screen and (max-width: 767px) {
        .mainArea .inner02 > div p:nth-child(1) span {
          font-size: 4.825vw; } }
  .mainArea .inner02 > div p:nth-child(2) {
    font-weight: 900;
    font-size: 3.64rem;
    line-height: 1.15; }
    @media screen and (max-width: 767px) {
      .mainArea .inner02 > div p:nth-child(2) {
        font-size: 6.89vw; } }
  .mainArea .inner02 > div p:nth-child(3) {
    font-weight: 900;
    text-align: right;
    margin-top: 5px;
    font-size: 1.27rem;
    margin-right: 1em; }
    @media screen and (max-width: 767px) {
      .mainArea .inner02 > div p:nth-child(3) {
        font-size: 3.1825vw; } }
  .mainArea .fig01 {
    width: 418px;
    margin-right: 13px;
    margin-bottom: 18px; }
    @media screen and (max-width: 767px) {
      .mainArea .fig01 {
        order: 3;
        flex: 0 0 100%;
        width: 100%;
        margin-right: 0;
        margin-bottom: 0; } }
    .mainArea .fig01 figcaption {
      color: #fff;
      font-weight: 900;
      font-size: 1.28rem;
      text-align: right;
      margin-top: -33px;
      margin-right: 42px; }
      @media screen and (max-width: 767px) {
        .mainArea .fig01 figcaption {
          font-size: 3.1825vw;
          margin-right: 0vw;
          margin-top: -5.5vw; } }
  .mainArea .fig02,
  .mainArea .fig03 {
    width: 124px;
    height: 124px;
    border-radius: 50%;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .mainArea .fig02,
      .mainArea .fig03 {
        width: 37.425vw;
        height: 37.425vw;
        margin-top: -1vw;
        margin-left: 1.25vw;
        margin-right: 1.25vw; } }
  .mainArea .fig02 {
    margin-right: 11px; }
    @media screen and (max-width: 767px) {
      .mainArea .fig02 {
        order: 4;
        margin-right: 0; } }
  @media screen and (max-width: 767px) {
    .mainArea .fig03 {
      order: 5; } }

.featureLayout {
  background: #fff;
  font-weight: 500;
  color: #141414; }
  .featureLayout .hdg01 {
    color: #000;
    text-align: center; }
  .featureLayout .hdg02 {
    text-align: left; }
  .featureLayout .featureInner {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .featureLayout .featureInner {
        width: calc(100% - 7.5vw); } }
  .featureLayout .area01 {
    padding: 56px 0 20px;
    background: #211b00;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .featureLayout .area01 {
        padding: 9.5vw 0 7vw; } }
  .featureLayout .split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 80px;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .featureLayout .split {
        display: block; } }
  @media screen and (max-width: 767px) {
    .featureLayout .featureInner.split:not(.splitTop) {
      display: flex;
      flex-direction: column-reverse; } }
  .featureLayout .splitTop {
    align-items: start;
    margin-bottom: -297px; }
    @media screen and (max-width: 767px) {
      .featureLayout .splitTop {
        margin-bottom: 24px; } }
  .featureLayout .splitBottom {
    align-items: end; }
  .featureLayout .copyBlock.lower {
    margin-top: 233px; }
    @media screen and (max-width: 767px) {
      .featureLayout .copyBlock.lower {
        margin-top: 4vw; } }
  .featureLayout .lead {
    font-weight: 900;
    font-size: 4.5rem;
    line-height: 1.3;
    letter-spacing: 0; }
    @media screen and (max-width: 767px) {
      .featureLayout .lead {
        font-size: 7.5vw; } }
    .featureLayout .lead span {
      font-size: 2.6rem; }
      @media screen and (max-width: 767px) {
        .featureLayout .lead span {
          font-size: 4vw; } }
  .featureLayout .subLead {
    margin-top: 12px;
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 1.35; }
    @media screen and (max-width: 767px) {
      .featureLayout .subLead {
        margin-top: 3vw;
        font-size: 5vw;
        line-height: 1.5; } }
    .featureLayout .subLead span {
      font-size: 3rem;
      color: #fff; }
      @media screen and (max-width: 767px) {
        .featureLayout .subLead span {
          font-size: 5vw; } }
  .featureLayout .text {
    margin-top: 13px;
    font-size: 1.4rem;
    line-height: 1.57;
    color: #b1b1b1; }
    @media screen and (max-width: 767px) {
      .featureLayout .text {
        margin-top: 10vw;
        font-size: 3.5vw; } }
  .featureLayout .lead.small {
    font-size: 4.5rem;
    line-height: 1.3666666667; }
    @media screen and (max-width: 767px) {
      .featureLayout .lead.small {
        font-size: 7.5vw; } }
    @media screen and (max-width: 767px) {
      .featureLayout .lead.small + .text {
        margin-top: 5vw; } }
  .featureLayout .strong {
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 1.4791666667;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .featureLayout .strong {
        font-size: 5vw; } }
  .featureLayout .image01 {
    width: 682px;
    justify-self: end;
    margin-right: -21px;
    margin-top: 6px; }
    @media screen and (max-width: 767px) {
      .featureLayout .image01 {
        width: 100%;
        margin-top: 26px;
        margin-right: 0; } }
  .featureLayout .image02 {
    width: 609px;
    margin-left: -34px; }
    @media screen and (max-width: 767px) {
      .featureLayout .image02 {
        width: 100%;
        margin-top: 14.5vw;
        margin-left: 0; } }
  .featureLayout .area02 {
    padding: 111px 0 82px;
    background: #f2efed; }
    @media screen and (max-width: 767px) {
      .featureLayout .area02 {
        padding: 10vw 0 0; } }
  .featureLayout .sectionHead {
    position: relative;
    width: 1200px;
    margin: 0 auto 48px;
    text-align: center; }
    .featureLayout .sectionHead .eyebrow {
      font-weight: 500;
      font-size: 2.2rem;
      line-height: 1.45;
      margin-bottom: 8px; }
      @media screen and (max-width: 767px) {
        .featureLayout .sectionHead .eyebrow {
          font-size: 5vw;
          margin-bottom: 1vw; } }
    .featureLayout .sectionHead .hdg01 {
      font-weight: 900;
      font-size: 4.2rem;
      line-height: 1.3;
      letter-spacing: 0; }
      @media screen and (max-width: 767px) {
        .featureLayout .sectionHead .hdg01 {
          font-size: 7.5vw; } }
    .featureLayout .sectionHead p:not(.eyebrow) {
      font-weight: 500;
      margin-top: 14px;
      font-size: 2.4rem;
      line-height: 1.85; }
      @media screen and (max-width: 767px) {
        .featureLayout .sectionHead p:not(.eyebrow) {
          font-size: 5vw;
          line-height: 1.4; } }
      .featureLayout .sectionHead p:not(.eyebrow) + p {
        font-weight: 400;
        margin-top: 8px;
        font-size: 1.4rem; }
        @media screen and (max-width: 767px) {
          .featureLayout .sectionHead p:not(.eyebrow) + p {
            font-size: 3.5vw; } }
    @media screen and (max-width: 767px) {
      .featureLayout .sectionHead {
        width: 100%;
        margin-bottom: 32px; } }
  .featureLayout .airflowGrid {
    display: flex;
    flex-wrap: wrap;
    width: 1149px;
    margin: 0 auto;
    column-gap: 44px;
    row-gap: 30px;
    align-items: start; }
    @media screen and (max-width: 767px) {
      .featureLayout .airflowGrid {
        display: flex;
        flex-direction: column;
        width: 100%;
        row-gap: 3.5vw; } }
  .featureLayout .mainCase {
    flex: 0 0 602px;
    width: 602px;
    margin-left: 16px; }
    @media screen and (max-width: 767px) {
      .featureLayout .mainCase {
        flex: 0 0 auto;
        order: 2;
        width: 100%;
        margin: 22px 0; } }
  .featureLayout .airflowItem {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center; }
    .featureLayout .airflowItem > div {
      flex: 1 1 auto;
      min-width: 0;
      margin-right: 24px; }
    .featureLayout .airflowItem .hdg02 {
      font-weight: 700;
      font-size: 3.2rem;
      line-height: 1.25; }
      @media screen and (max-width: 767px) {
        .featureLayout .airflowItem .hdg02 {
          font-size: 6.5vw; } }
    .featureLayout .airflowItem p {
      color: #646464;
      margin-top: 10px;
      font-weight: 400;
      font-size: 1.4rem;
      line-height: 1.7; }
      @media screen and (max-width: 767px) {
        .featureLayout .airflowItem p {
          font-size: 3.5vw; } }
    .featureLayout .airflowItem .fanName {
      font-weight: 400;
      font-size: 1.4rem;
      color: #646464; }
    .featureLayout .airflowItem figure {
      flex: 0 0 160px;
      width: 160px;
      margin: 0; }
    @media screen and (max-width: 767px) {
      .featureLayout .airflowItem {
        display: block;
        margin-top: 28px; }
        .featureLayout .airflowItem figure {
          width: 72%;
          margin: 18px auto 0; } }
    @media screen and (max-width: 767px) and (max-width: 767px) {
      .featureLayout .airflowItem figure {
        width: 49vw;
        margin: 4.5vw auto 0; } }

  .featureLayout .intakeFront {
    flex: 0 0 444px;
    padding-top: 126px;
    display: block;
    margin-left: 10px; }
    .featureLayout .intakeFront figure {
      width: 245px;
      margin: 18px 0 0; }
    @media screen and (max-width: 767px) {
      .featureLayout .intakeFront {
        display: contents;
        margin-left: 0; }
        .featureLayout .intakeFront > div {
          order: 1; }
        .featureLayout .intakeFront figure {
          order: 3;
          width: 61.25vw;
          margin: 0 auto 22px; } }
  .featureLayout .intakeBottomRow {
    display: flex;
    width: 1153px;
    gap: 56px;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .featureLayout .intakeBottomRow {
        order: 4;
        display: block;
        width: 100%;
        margin-left: 0; } }
  .featureLayout .intakeBottom {
    flex: 0 0 564px;
    align-items: start; }
    .featureLayout .intakeBottom > div {
      order: 1; }
    .featureLayout .intakeBottom figure {
      order: 2;
      flex-basis: 196px; }
  .featureLayout .intakeFront h3,
  .featureLayout .intakeBottom h3 {
    color: #0078ff; }
  .featureLayout .exhaust h3 {
    color: #ff0079; }
  .featureLayout .bottomFlow {
    flex: 0 0 530px;
    width: 530px; }
    @media screen and (max-width: 767px) {
      .featureLayout .bottomFlow {
        width: 100%;
        margin: 22px 0; } }
  @media screen and (max-width: 767px) and (max-width: 767px) {
    .featureLayout .bottomFlow {
      margin: 0 0 12.5vw; } }

  .featureLayout .exhaustRow {
    display: flex;
    width: 878px;
    margin-left: 2px;
    gap: 134px;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .featureLayout .exhaustRow {
        display: flex;
        flex-direction: column;
        order: 5;
        width: 100%;
        margin-left: 0;
        gap: 4vw; } }
  .featureLayout .exhaustFlow {
    flex: 0 0 530px;
    width: 530px; }
    @media screen and (max-width: 767px) {
      .featureLayout .exhaustFlow {
        flex: 0 0 auto;
        order: 2;
        width: 100%; } }
  .featureLayout .exhaust {
    flex: 0 0 427px;
    padding-top: 18px;
    display: block; }
    .featureLayout .exhaust figure {
      width: 245px;
      margin: 18px 0 0; }
    @media screen and (max-width: 767px) {
      .featureLayout .exhaust {
        display: contents; }
        .featureLayout .exhaust > div {
          order: 1; }
        .featureLayout .exhaust figure {
          order: 3;
          width: 61.25vw;
          margin: 2.5vw auto 0; } }
  .featureLayout .exhaust .hdg02 {
    color: #ff0079; }
  .featureLayout .area03 {
    padding: 115px 0 111px;
    background: #fff; }
    @media screen and (max-width: 767px) {
      .featureLayout .area03 {
        padding: 15vw 0 15vw; } }
  .featureLayout .coolerHero {
    width: 1204px;
    margin: -86px 0 -180px -7px; }
    @media screen and (max-width: 767px) {
      .featureLayout .coolerHero {
        width: 100%;
        margin: -5.5vw 0 -11.5vw 0; } }
  .featureLayout .coolerText {
    width: 820px;
    margin: 0 auto;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.57;
    text-align: center;
    color: #646464; }
    .featureLayout .coolerText + .coolerText {
      margin-top: 1em; }
    @media screen and (max-width: 767px) {
      .featureLayout .coolerText {
        width: 100%;
        text-align: left;
        font-size: 3.5vw; } }
  .featureLayout .coolerDetail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    width: 1112px;
    margin: 85px auto 0; }
    @media screen and (max-width: 767px) {
      .featureLayout .coolerDetail {
        display: block;
        width: calc(100% + 3.5vw);
        margin: 10vw -1.75vw 0; }
        .featureLayout .coolerDetail figure + figure {
          margin-top: 1.25vw; } }
  .featureLayout .area04 {
    padding: 82px 0 95px;
    background: #f2efed; }
    @media screen and (max-width: 767px) {
      .featureLayout .area04 {
        padding: 14vw 0 12.5vw; } }
  .featureLayout .gpuWrap {
    width: calc(100% - 40px);
    max-width: 1200px; }
    @media screen and (max-width: 767px) {
      .featureLayout .gpuWrap {
        width: calc(100% - 7.5vw); } }
  .featureLayout .gpuLead {
    position: relative;
    display: grid;
    grid-template-columns: 524px 1fr;
    column-gap: 14px;
    align-items: start; }
    .featureLayout .gpuLead .hdg01 {
      font-weight: 900;
      font-size: 4.5rem;
      line-height: 1.367;
      letter-spacing: 0;
      margin-bottom: 24px; }
      @media screen and (max-width: 767px) {
        .featureLayout .gpuLead .hdg01 {
          font-size: 7.5vw;
          line-height: 1.4;
          letter-spacing: 0;
          margin-bottom: 6.5vw; } }
    .featureLayout .gpuLead p {
      font-weight: 400;
      margin-top: 14px;
      font-size: 1.4rem;
      line-height: 1.57;
      color: #646464; }
      @media screen and (max-width: 767px) {
        .featureLayout .gpuLead p {
          margin-top: 3.5vw;
          font-size: 3.5vw; } }
    @media screen and (max-width: 767px) {
      .featureLayout .gpuLead {
        display: block; }
        .featureLayout .gpuLead h2 {
          font-size: 2.55rem; } }
  .featureLayout .gpuCard {
    width: 736px;
    margin-top: -18px; }
    @media screen and (max-width: 767px) {
      .featureLayout .gpuCard {
        width: 100%;
        margin-top: 1.25vw; } }
  .featureLayout .gpuLogo {
    position: absolute;
    right: 15px;
    bottom: 6px;
    width: 175px; }
    @media screen and (max-width: 767px) {
      .featureLayout .gpuLogo {
        position: static;
        width: 29vw;
        margin: -14.5vw 0 22.5vw auto; } }
  .featureLayout .gpuInstalled {
    width: 900px;
    margin: -72px 0 36px;
    border-radius: 7px;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .featureLayout .gpuInstalled {
        width: 100%; } }
  .featureLayout .soundGraph {
    width: 100%;
    margin: 0 auto; }
  .featureLayout .graphRow {
    padding: 18px 0 9px; }
    @media screen and (min-width: 768px) {
      .featureLayout .graphRow {
        display: grid;
        grid-template-columns: 1fr 100px;
        align-items: end;
        column-gap: 28px;
        row-gap: 16px; } }
    @media screen and (max-width: 767px) {
      .featureLayout .graphRow {
        padding: 5px 0 5px; } }
    .featureLayout .graphRow > .name {
      font-weight: 900;
      font-size: 2.4rem;
      line-height: 1.35; }
      @media screen and (max-width: 767px) {
        .featureLayout .graphRow > .name {
          font-size: 4vw; } }
      .featureLayout .graphRow > .name span {
        color: #551805;
        margin-left: 1em; }
        @media screen and (max-width: 767px) {
          .featureLayout .graphRow > .name span {
            margin-left: auto;
            width: 100%;
            display: inline-block;
            text-align: right; } }
    .featureLayout .graphRow > p:last-child {
      text-align: right;
      font-weight: 900;
      font-size: 2.4rem; }
      @media screen and (max-width: 767px) {
        .featureLayout .graphRow > p:last-child {
          font-size: 4vw; } }
    .featureLayout .graphRow span {
      color: #000; }
    @media screen and (max-width: 767px) {
      .featureLayout .graphRow {
        grid-template-columns: 1fr 62px;
        gap: 8px;
        font-size: 1.0rem; } }
  .featureLayout .graph {
    grid-column: 1 / 3;
    grid-row: 2;
    height: 10px;
    border-radius: 5px;
    background: #dedbd8; }
    @media screen and (max-width: 767px) {
      .featureLayout .graph {
        border-radius: 3px;
        margin: 3.75vw 0 1.25vw; } }
    .featureLayout .graph > .inner {
      width: 0;
      display: block;
      height: 100%;
      border-radius: 5px;
      background: #2e2e2e;
      transition: 1.5s all ease-in-out; }
      @media screen and (max-width: 767px) {
        .featureLayout .graph > .inner {
          border-radius: 3px; } }
    @media screen and (max-width: 767px) {
      .featureLayout .graph {
        grid-column: 1 / 3;
        grid-row: 2; } }
  .featureLayout .graphRow:nth-child(1) .graph > .inner.active {
    width: 52%; }
  .featureLayout .graphRow:nth-child(2) .graph > .inner.active {
    width: 62.1667%; }
  .featureLayout .graphRow:nth-child(3) .graph > .inner.active {
    width: 86.5%; }
  .featureLayout .better .graph > .inner {
    background: #551805; }

.seriesTopSection {
  background: #eaeaea; }
