#page {
  line-height: 2; }
  #page #pageKv {
    width: 100%;
    height: 150px;
    padding: 0; }
    #page #pageKv img {
      width: 100%;
      height: 150px;
      object-fit: cover; }
  #page section > div section {
    margin: 100px 0; }
  #page section .label {
    text-align: center; }
    #page section .label span {
      padding: 0.25rem 1rem;
      color: #fff;
      font-size: 0.875rem;
      background: #da291c; }
  #page section .chach {
    margin: 2rem 0;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center; }
  #page section .colorRed {
    color: #da291c; }
  #page section .textCenter {
    text-align: center; }
  #page section .flex2 {
    display: flex;
    margin: 4rem 0;
    gap: 3rem; }
    #page section .flex2 > div {
      width: 50%; }
      #page section .flex2 > div figure {
        width: 100%;
        margin: 0;
        padding: 0 1rem; }
  #page section .flex3 {
    display: flex;
    margin: 4rem 0;
    gap: 2rem; }
    #page section .flex3 > div {
      width: 33.3%; }
      #page section .flex3 > div figure {
        width: 100%;
        margin: 0;
        padding: 0 1rem; }
  #page section .flex4 {
    display: flex;
    margin: 4rem 0;
    gap: 1rem; }
    #page section .flex4 > div {
      width: 25%; }
      #page section .flex4 > div figure {
        width: 100%;
        margin: 0;
        padding: 0 1rem; }
  #page section .flex1-2 {
    display: flex;
    margin: 4rem 0;
    gap: 3rem; }
    #page section .flex1-2 > div:nth-of-type(1) {
      width: 30%; }
    #page section .flex1-2 > div:nth-of-type(2) {
      width: 70%; }
    #page section .flex1-2 > div figure {
      width: 100%;
      margin: 0;
      padding: 0 1rem; }
  #page section .flex2-1 {
    display: flex;
    margin: 4rem 0;
    gap: 3rem; }
    #page section .flex2-1 > div:nth-of-type(1) {
      width: 70%; }
    #page section .flex2-1 > div:nth-of-type(2) {
      width: 30%; }
    #page section .flex2-1 > div figure {
      width: 100%;
      margin: 0;
      padding: 0 1rem; }
  #page section.gladArea {
    padding: 50px 1rem 100px 1rem; }
    #page section.gladArea > div > div {
      padding: 1rem;
      background: linear-gradient(120deg, #005cca 20%, #da291c 90%); }
      #page section.gladArea > div > div > div {
        padding: 1rem;
        background: rgba(255, 255, 255, 0.9); }
  #page section.bgGray {
    background: #eee; }
  #page section ul {
    padding: 0 0 0 1.5rem; }
    #page section ul li {
      margin: 1rem 0; }
  #page section ol {
    padding: 0 0 0 1.5rem; }
    #page section ol li {
      margin: 1rem 0; }
  #page section table {
    margin: 2rem auto;
    border-collapse: collapse; }
    #page section table th, #page section table td {
      padding: 1rem 2rem;
      border: 1px #999 solid;
      border-width: 1px 0; }
    #page section table th {
      color: #fff;
      text-align: left;
      border-color: #fff;
      background: #63c558; }
    #page section table.simpleTable th {
      white-space: nowrap; }
  #page section figure {
    width: 100%;
    margin: 3rem auto; }
    #page section figure.w10 {
      width: 10%; }
    #page section figure.w20 {
      width: 20%; }
    #page section figure.w30 {
      width: 30%; }
    #page section figure.w40 {
      width: 40%; }
    #page section figure.w50 {
      width: 50%; }
    #page section figure.w60 {
      width: 60%; }
    #page section figure.w70 {
      width: 70%; }
    #page section figure.w80 {
      width: 80%; }
    #page section figure.w90 {
      width: 90%; }
    #page section figure img {
      width: 100%; }
    #page section figure + figure {
      margin-top: 3rem !important; }
  #page section .mt1rem {
    margin-top: 1rem; }
  #page section .productList {
    padding: 1.5rem;
    background: linear-gradient(120deg, #005cca 20%, #da291c 90%); }
    #page section .productList > section {
      margin: 0 0 1.5rem 0;
      padding: 3rem 4rem 4rem 4rem;
      background: rgba(255, 255, 255, 0.75); }
      #page section .productList > section:last-child {
        margin-bottom: 0; }
      #page section .productList > section > h3 {
        margin: 0 0 4rem 0;
        font-size: 2rem; }
        #page section .productList > section > h3 span {
          margin: 0 0.5rem 0 0;
          font-size: 2.75rem;
          vertical-align: -0.65rem; }
        #page section .productList > section > h3:before {
          width: 7rem;
          margin-left: 0.125rem;
          background: #005cca;
          top: auto;
          bottom: -1.75rem; }
      #page section .productList > section > ul {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        margin: 0;
        padding: 0;
        list-style: none;
        gap: 1rem; }
        #page section .productList > section > ul > li {
          margin: 0;
          padding: 1.5rem;
          color: #fff;
          background: #0d284d;
          position: relative;
          z-index: 0;
          display: grid;
          grid-template-rows: subgrid;
          grid-row: span 3; }
          #page section .productList > section > ul > li h4 {
            margin: 0;
            padding: 0;
            font-size: 1.25rem; }
          #page section .productList > section > ul > li p {
            margin: 0;
            font-size: 0.875rem;
            line-height: 1.75; }
            #page section .productList > section > ul > li p + div {
              text-align: right; }
              #page section .productList > section > ul > li p + div a {
                display: inline-block;
                color: #fff;
                padding: 0.5rem 1rem;
                line-height: 1;
                text-decoration: none;
                background: #0194d7;
                transition: 1s; }
                #page section .productList > section > ul > li p + div a[target]:after {
                  content: "\e89e";
                  padding-left: 0.5em;
                  font-family: "Material Symbols Outlined";
                  vertical-align: -0.15rem; }
                #page section .productList > section > ul > li p + div a:hover {
                  color: #da291c;
                  background: #fff; }
          #page section .productList > section > ul > li:before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            background: linear-gradient(120deg, #005cca 20%, #da291c 90%);
            opacity: 0;
            transition: 1s; }
          #page section .productList > section > ul > li:has(a:hover):before {
            opacity: 1; }

@media screen and (max-width: 1024px) {
  #page section .productList > section > ul {
    grid-template-columns: 1fr 1fr; } }
@media screen and (max-width: 768px) {
  #page section {
    padding: 50px 1rem; }
    #page section .productList > section {
      padding: 1rem; }
      #page section .productList > section > ul {
        padding: 1rem; } }
@media screen and (max-width: 500px) {
  #page #pageKv {
    height: 100px; }
    #page #pageKv img {
      height: 100px; }
  #page section {
    padding: 50px 0; }
    #page section > div {
      padding: 1rem; }
    #page section.gladArea {
      padding: 1rem 0; }
      #page section.gladArea > div {
        padding: 1rem 0; }
    #page section h2 {
      font-size: 8vw; }
    #page section .chach {
      padding: 0 1rem;
      font-size: 6vw;
      word-break: auto-phrase; }
    #page section figure {
      padding: 0 0 0 1rem; }
      #page section figure.w80 {
        width: 100%; }
    #page section .productList {
      padding: 1rem; }
      #page section .productList > section > ul {
        padding: 0;
        grid-template-columns: 1fr; }
    #page section section {
      padding: 0; }
    #page section .textCenter {
      text-align: inherit; }
    #page section .simpleTable th, #page section .simpleTable td {
      display: block;
      padding: 0.5em;
      border: none; }
    #page section .simpleTable td {
      padding-bottom: 1em; }
    #page section .flex2,
    #page section .flex3,
    #page section .flex4,
    #page section .flex1-2,
    #page section .flex2-1 {
      display: block;
      margin: 0; }
      #page section .flex2 > div:nth-of-type(1),
      #page section .flex3 > div:nth-of-type(1),
      #page section .flex4 > div:nth-of-type(1),
      #page section .flex1-2 > div:nth-of-type(1),
      #page section .flex2-1 > div:nth-of-type(1) {
        width: 100%;
        margin: 0; }
      #page section .flex2 > div:nth-of-type(2),
      #page section .flex3 > div:nth-of-type(2),
      #page section .flex4 > div:nth-of-type(2),
      #page section .flex1-2 > div:nth-of-type(2),
      #page section .flex2-1 > div:nth-of-type(2) {
        width: 100%;
        margin: 0 0 1rem 0; }
      #page section .flex2 > div figure,
      #page section .flex3 > div figure,
      #page section .flex4 > div figure,
      #page section .flex1-2 > div figure,
      #page section .flex2-1 > div figure {
        margin-bottom: 2rem;
        padding: 0; } }