.section-list {
  padding: 60px 0; }
  @media screen and (max-width: 1200px) {
    .section-list {
      padding: 5vw 0; } }
  .section-list .section-title {
    margin-left: 40px; }
    @media screen and (max-width: 1200px) {
      .section-list .section-title {
        margin-left: 3.333vw; } }
    @media screen and (max-width: 640px) {
      .section-list .section-title {
        margin-left: 4.666vw; } }
  .section-list .box {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      .section-list .box {
        max-width: 83.333vw; } }
    @media screen and (max-width: 640px) {
      .section-list .box {
        max-width: 86.666vw; } }
  .section-list .box-tab {
    position: relative;
    z-index: 0;
    margin: 80px 0 100px; }
    @media screen and (max-width: 1200px) {
      .section-list .box-tab {
        margin-top: 6.666vw; } }
    .section-list .box-tab-head ul {
      display: flex;
      gap: 5px; }
      @media screen and (max-width: 1200px) {
        .section-list .box-tab-head ul {
          gap: 0.416vw; } }
      @media screen and (max-width: 640px) {
        .section-list .box-tab-head ul {
          gap: 2.343vw; } }
    .section-list .box-tab-head .tab {
      position: relative;
      z-index: 0;
      display: inline-block;
      padding: 0 20px;
      font-family: "Arial", "Zen Maru Gothic", sans-serif;
      font-size: 16px;
      line-height: 1.4;
      cursor: pointer;
      transition: background-color 0.3s ease, color 0.3s ease; }
      @media screen and (max-width: 1200px) {
        .section-list .box-tab-head .tab {
          padding: 0 1.666vw;
          font-size: 1.333vw; } }
      @media screen and (max-width: 640px) {
        .section-list .box-tab-head .tab {
          padding: 0 1.666vw;
          font-size: 4.166vw; } }
      .section-list .box-tab-head .tab.active {
        z-index: 2;
        border-bottom: 1px solid #20a464;
        color: #20a464;
        cursor: default; }
      .section-list .box-tab-head .tab:not(.active):hover {
        background-color: #4d4d4d;
        color: #e6e6e5; }
    .section-list .box-tab-body {
      position: relative;
      z-index: 1;
      background-color: #fff;
      padding: 50px 0 30px 44px; }
      @media screen and (max-width: 1200px) {
        .section-list .box-tab-body {
          padding: 4.166vw 0 2.5vw 3.666vw; } }
      @media screen and (max-width: 640px) {
        .section-list .box-tab-body {
          padding: 8.333vw 0; } }
      .section-list .box-tab-body .tab {
        display: none;
        opacity: 0;
        transition: opacity 0.3s ease, display 0.3s allow-discrete; }
        .section-list .box-tab-body .tab.active {
          display: block;
          opacity: 1; }
@starting-style {
  .section-list .box-tab-body .tab.active {
    opacity: 0; } }
  .section-list .box-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px; }
    @media screen and (max-width: 1200px) {
      .section-list .box-grid {
        gap: 2.5vw; } }
    @media screen and (max-width: 640px) {
      .section-list .box-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4.166vw; } }
    .section-list .box-grid .col a {
      display: grid;
      grid-template-rows: auto auto 1fr 1fr auto;
      height: 100%; }
      .section-list .box-grid .col a:hover {
        opacity: 0.7; }
    .section-list .box-grid .col .cat {
      margin-top: 10px; }
      @media screen and (max-width: 1200px) {
        .section-list .box-grid .col .cat {
          margin-top: 0.833vw; } }
      @media screen and (max-width: 640px) {
        .section-list .box-grid .col .cat {
          margin-top: 3.666vw; } }
      .section-list .box-grid .col .cat span {
        display: inline-block;
        background-color: #20a464;
        padding: 4px 15px;
        font-size: 14px;
        line-height: 1;
        color: #fff; }
        @media screen and (max-width: 1200px) {
          .section-list .box-grid .col .cat span {
            padding: 0.333vw 1.25vw;
            font-size: 1.166vw; } }
        @media screen and (max-width: 640px) {
          .section-list .box-grid .col .cat span {
            padding: .666vw 2.5vw;
            font-size: 2.333vw; } }
    .section-list .box-grid .col h3 {
      margin-top: 8px;
      font-size: 20px;
      font-weight: 500;
      line-height: 1.4; }
      @media screen and (max-width: 1200px) {
        .section-list .box-grid .col h3 {
          margin-top: 0.666vw;
          font-size: 1.666vw; } }
      @media screen and (max-width: 640px) {
        .section-list .box-grid .col h3 {
          margin-top: 2.133vw;
          font-size: 4vw; } }
      .section-list .box-grid .col h3 br.sp {
        display: none; }
        @media screen and (max-width: 640px) {
          .section-list .box-grid .col h3 br.sp {
            display: inline-block; } }
    .section-list .box-grid .col .txt-1 {
      margin-top: 5px;
      font-size: 16px;
      line-height: 1.2; }
      @media screen and (max-width: 1200px) {
        .section-list .box-grid .col .txt-1 {
          margin-top: 0.416vw;
          font-size: 1.333vw; } }
      @media screen and (max-width: 640px) {
        .section-list .box-grid .col .txt-1 {
          margin-top: 0.833vw;
          font-size: 2.666vw; } }
    .section-list .box-grid .col .txt-2 {
      margin-top: 5px;
      font-size: 16px;
      line-height: 1.2; }
      @media screen and (max-width: 1200px) {
        .section-list .box-grid .col .txt-2 {
          margin-top: 0.416vw;
          font-size: 1.333vw; } }
      @media screen and (max-width: 640px) {
        .section-list .box-grid .col .txt-2 {
          margin-top: 3.333vw;
          font-size: 3.333vw;
          line-height: 1.4; } }
      @media screen and (max-width: 640px) {
        .section-list .box-grid .col .txt-2 br {
          display: none; } }
    .section-list .box-grid .col .link {
      margin-top: 20px;
      padding-right: 50px;
      font-size: 14px;
      text-align: right; }
      @media screen and (max-width: 1200px) {
        .section-list .box-grid .col .link {
          margin-top: 1.666vw;
          padding-right: 4.166vw;
          font-size: 1.166vw; } }
      @media screen and (max-width: 640px) {
        .section-list .box-grid .col .link {
          margin-top: 1.666vw;
          padding-right: 0;
          font-size: 3.333vw; } }
