@charset "UTF-8";

.column2507_pc-only {
  display: block !important;
}
.column2507_pc-only_inline {
  display: inline-block !important;
}
.column2507_sp-only {
  display: none !important;
}
.column2507_sp-only_inline {
  display: none !important;
}
.column2507_sp-only_499 {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .column2507_pc-only {
    display: none !important;
  }
  .column2507_pc-only_inline {
    display: none !important;
  }
  .column2507_sp-only {
    display: block !important;
  }
  .column2507_sp-only_inline {
    display: inline-block !important;
  }
}
@media screen and (max-width: 499px) {
  .column2507_sp-only_499 {
    display: block !important;
  }
}



:root {
  --color-red-primary: #e60012;
}


#column2507 {
  padding-bottom: 50px;

  .column2507_img {
    width: 100%;
    vertical-align: bottom;
  }

  .mt0 {
    margin-top: 0;
  }

  .column2507_indent {
    text-indent: 1em;
  }

  .column2507_text_red {
    font-weight: 700;
    color: var(--color-red-primary);
  }

  .column2507_text_bold {
    font-weight: 700;
  }

  .column2507_body_anno_mark {
    vertical-align: super;
    font-size: 0.6em;
  }

  .column2507_text_small {
    font-size: 0.6em;
  }

  .column2507_text_big {
    font-size: 1.6em;
  }

  .column2507_text_big12 {
    font-size: 1.2em;
  }

  .column2507_dash {
    letter-spacing: -0.05em;
  }

  .column2507_nowrap {
    white-space: nowrap;
  }

  .column2507_wrap {
    margin-bottom: 160px;
  }
  @media screen and (max-width: 768px) {
    .column2507_wrap {
      margin-bottom: 80px;
    }
  }

  .column2507_sub-title_box {
    margin-bottom: 40px;
  }
  @media screen and (max-width: 768px) {
    .column2507_sub-title_box {
      margin-bottom: 30px;
    }
  }

  .column2507_sub-title_text {
    line-height: 1.5;
  }

  .column2507_intro {
    margin-bottom: 115px;

    .column2507_visual_box {
      .column2507_img {
        border: 1px solid #c8c8c8;

        &.column2507_border_none {
          border: none;
        }
      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_intro {
      margin-bottom: 50px;
    }
  }

  .column2507_visual_box {
    margin-bottom: 48px;

    &.column2507_flex {
      display: flex;
      justify-content: center;

      .column2507_visual_small_box {
        width: 572px;
      }
    }

    &.column2507_img_box {
      margin-top: 40px;
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_visual_box {
      margin-bottom: 16px;
    }
  }

  .c-figure__caption {
    &.column2507__caption {
      display: block;
      width: 100%;
      text-align: justify;
      color: #808080;
      font-size: 12px;
      line-height: 1.74;
      letter-spacing: .03em;

      &.column2507__caption_title {
        font-weight: 700;  
      }
    }
  }

  .column2507_body_text {
    color: #000;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.08em;
    text-align: justify;

    &+.column2507_body_text {
      margin-top: 0;
    }

    &.column2507_intro_text {
      font-weight: 700;
    }
  }

  .column2507_contents_box {
    .column2507_title {
      color: #000;
      font-size: 2rem;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0.05em;
      border-bottom: 1px solid #C8C8C8;
      padding-bottom: 24px;
      margin-bottom: 48px;

      &::after,
      &::before {
        content: none;
      }

      .column2507_title_deco {
        /* padding: 0 1em; */
        font-weight: 700;
        line-height: 1.44;
        display: block;
        position: relative;

        &.column2507_flex {
          display: flex;
          column-gap: 0.5em;
        }

        &.column2507_grid {
          display: grid;
          row-gap: 0.4em;
        }
    
        .column2507_title_deco_headmark {
          font-size: 0.5em;
          letter-spacing: 0.1em;
          display: flex;
          align-items: center;
          color: #fff;
          border: 1px solid #E60012;
          background-color: #E60012;
          border-radius: 5px;
          padding: 0.01em 0.5em;
          white-space: nowrap;

          &.column2507_flex {
            display: flex;
            column-gap: 0;
            border: none;
            background-color: transparent;
            padding-left: 0;

            .column2507_title_deco_headmark_number {
              /* border: 1px solid #E60012; */
              border-top: 1px solid #E60012;
              border-left: 1px solid #E60012;
              border-bottom: 1px solid #E60012;
              /* background-color: #E60012; */
              padding: 0.2em 1.2em 0.2em 0.8em;
              white-space: nowrap;
              position: relative;

              &::before {
                content: "";
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                left: 0;
                clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 0% 100%);
                background-color: #E60012;
                z-index: -1;
              }
            }

            .column2507_title_deco_headmark_catch {
              /* border: 1px solid #E60012; */
              border-top: 1px solid #E60012;
              border-right: 1px solid #E60012;
              border-bottom: 1px solid #E60012;
              color: #000;
              padding: 0.2em 0.6em 0.2em 0.4em;
            }
          }
        } 
      }
      @media screen and (max-width: 768px) {
        .column2507_title_deco {
          &.column2507_flex {
            flex-direction: column;
            padding-right: 0;
            letter-spacing: 0.05em;
          }

          &.column2507_grid {
            display: grid;
            row-gap: 0.25em;
          }
          
          .column2507_title_deco_headmark {
            font-size: 0.7em;
            width: fit-content;
            margin-bottom: 0.3em;
          }
        }
      }  
    }
    @media screen and (max-width: 768px) {
      .column2507_title {
        font-size: 1.44rem;
        padding-bottom: 12px;
        margin-bottom: 30px;
      }
    }
  }

  .column2507_contents_body_box {
    font-size: 1rem;
    margin-bottom: 2em;
  }

  .column2507_btn_box {
    width: min-content;
    background-color: #000;
    border: 1px solid #000;
    margin-inline: auto;
    position: relative;
    transition: 0.3s;

    &.column2507_btn_red {
      background-color: #e60012;
      border: 1px solid #e60012;

      &:hover {
        background-color: #fff;

        .column2507_btn_link {
          .column2507_btn_link_text {
            color: #e60012;
          }
        }

        &::before {
          border-top: 1px solid #e60012;
          border-right: 1px solid #e60012;
        }
      }
    }

    &::before {
      content: "";
      display: inline-block;
      width: 10px;
      height: 10px;
      position: absolute;
      top: 50%;
      right: 15px;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      translate: 0 -50%;
      rotate: 45deg;
      transition: 0.3s;
    }

    &:hover {
      background-color: #fff;

      .column2507_btn_link_text {
        color: #000;
      }

      &::before {
        border-top: 1px solid #000;
        border-right: 1px solid #000;
      }
    }

    .column2507_btn_link {
      font-weight: 700;
      text-align: center;
      text-decoration: none;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-width: 336px;
      padding-block: 0.6em;
      transition: 0.3s;
      min-height: 50px;

      /* NOTE:自動で挿入されるマークを消す */
      &::after {
        content: none;
      }

      .column2507_btn_link_text {
        line-height: 1.5;
        transition: 0.3s;
      }
    }
    @media screen and (max-width: 768px) {
      .column2507_btn_link {
        min-width: 325px;
        min-height: 45.3px;
        font-size: 0.82rem;
      }
    }
  }

  .column2507_btn_box_before_text {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 1em;
  }

  /***** プロフィール *****/
  .column2507_content_profile_warp {
    margin-bottom: 120px;
  }
  @media screen and (max-width: 768px) {
    .column2507_content_profile_warp {
      margin-bottom: 80px;
    }
  }

  .column2507_content_profile {
    margin-bottom: 34px;

    &.column2507_grid {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto auto 1fr;
      grid-template-areas:
      "item-01 item-02"
      "item-01 item-03"
      "item-01 item-04";
      column-gap: 2.4em;

      .column2507_content_profile_img_box {
        grid-area: item-01;
        width: 150px;
      }

      .column2507_content_profile_subheading_box {
        grid-area: item-02;
        font-size: min(1.2em, 16px);
        /* font-weight: 700; */
        /* border-bottom: 1px solid #c8c8c8; */
        padding: 0.1em 0.6em;
        height: fit-content;
        width: fit-content;
        background-color: #f3f3f3;
        border-radius: 5px;
      }
      @media screen and (max-width: 768px) {
        .column2507_content_profile_subheading_box {
          font-size: min(1em, 14px);
        }
      }

      .column2507_content_profile_school_box {
        grid-area: item-03;
        font-size: min(1.2em, 16px);
        line-height: 1.4;
        padding-top: 0.8em;
      }
      @media screen and (max-width: 499px) {
        .column2507_content_profile_school_box {
          padding-top: 0.4em;
        }
      }

      .column2507_content_profile_name_box {
        grid-area: item-04;
        font-size: min(2em, 25.6px);
        font-weight: 700;
        line-height: 1;
        padding-top: 0.3em;
      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_content_profile {
      /* padding: 1em; */
      margin-bottom: 30px;

      &.column2507_grid {
        column-gap: 1em;

        .column2507_content_profile_img_box {
          width: fit-content;
          max-width: 100px;
        }

        .column2507_content_profile_name_box {
          font-size: min(1.8em, 22.4px);
          font-weight: 700;

          .column2507_content_profile_name_small {
            font-size: 0.6em;
          }
        }
      }
    }
  }

  .column2507_contents_sub-sub-heading_box {
    margin-bottom: 120px;
  }
  @media screen and (max-width: 768px) {
    .column2507_contents_sub-sub-heading_box {
      margin-bottom: 80px;
    }
  }

  .column2507_content_comment {
    .column2507_content_title {
      position: relative;
      border: 1px solid #E60012;;
      margin-bottom: 40px;

      .column2507_content_title_text {
        font-size: 1.8em;
        font-weight: 700;
        color: #E60012;
        line-height: 1.5;
        padding: 0.6em 0.7em;
      }
    }
    @media screen and (max-width: 768px) {
      .column2507_content_title {
        margin-bottom: 30px;

        .column2507_content_title_text {
          font-size: 1.6em;
          padding: 0.4em 0.7em;
        }
      }
    }

    .column2507_body_text {
      margin-bottom: 120px;
      position: relative;

      &.mb0 {
        margin-bottom: 0;
      }
    }
    @media screen and (max-width: 768px) {
      .column2507_body_text {
        margin-bottom: 80px;
      }
    }
  }

  .column2507_visual_box_container {
    &:not(:nth-last-of-type(-n+2)) { /* 戻るボタン（div）があるため */
      margin-bottom: 8em;
      position: relative;

      &::before {
        content: "";
        width: 100%;
        height: 1px;
        background-color: #c8c8c8;
        position: absolute;
        bottom: -3.7em; /* テキストの下に空きスペースができてしまうため少しずらしている */
        left: 0;
      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_visual_box_container {
      &:not(:nth-last-of-type(-n+2)) {
        margin-bottom: 5em;

        &::before {
          bottom: -2.2em;
        }
      }
    }
  }

  .column2507_visual_box_explanation {
    display: grid;
    grid-template-columns: 80px 1fr;
    align-items: center;
    column-gap: 20px;
    margin-top: 30px;
  }

  .column2507_article_box {
    padding: 1em 1.5em;
    border: 1px solid rgba(230, 0, 18, 0.3);
    /* border-top: 1px solid #C8C8C8; */
    /* border-bottom: 1px solid #C8C8C8; */
    margin-bottom: 52px;
  }
  @media screen and (max-width: 768px) {
    .column2507_article_box {
      margin-bottom: 30px;
    }
  }

  .column2507_body_text_anno {
    font-size: 0.8em;
    font-weight: 700;
    margin-top: 0;
  }

  .column2505_btn_box_before_text {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 1em;
  }

  /* 特集ページへの遷移ボタン */
  .column2507_special_btn_wrap {
    padding: 4em 10%;
    border-top: 1px solid #c8c8c8;
    border-bottom: 1px solid #c8c8c8;
    margin-bottom: 160px;

    .column2507_special_btn_inner {
      &.column2507_grid {
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
        "item-01 item-02"
        "item-01 item-03";
        justify-content: center;
        align-items: center;
        column-gap: 2em;
        row-gap: 1em;
      }

      .column2507_btn_img_container {
        grid-area: item-01;
        width: 100%;
        max-width: 320px;
        min-width: 280px;
      }

      .column2505_btn_text_container {
        grid-area: item-02;
        text-align: justify;
        font-size: 20px;
        font-weight: 700;
        line-height: 1.6;
        align-self: flex-end;
      }

      .column2507_btn_container {
        grid-area: item-03;
        background-color: var(--color-red-primary);
        border: 1px solid var(--color-red-primary);
        align-self: flex-start;
        position: relative;
        transition: 0.3s;

        &::before {
          content: "";
          display: inline-block;
          width: 10px;
          height: 10px;
          position: absolute;
          top: 50%;
          right: 15px;
          border-top: 1px solid #fff;
          border-right: 1px solid #fff;
          translate: 0 -50%;
          rotate: 45deg;
          transition: 0.3s;
        }

        .column2507_btn_link {
          font-weight: 700;
          line-height: 1;
          text-align: center;
          text-decoration: none;
          color: #fff;
          display: grid;
          place-content: center;
          width: 100%;
          /* min-width: 336px; */
          padding-block: 0.6em;
          transition: 0.3s;
          min-height: 50px;
        }

        &:hover {
          background-color: #fff;

          &::before {
            border-top: 1px solid var(--color-red-primary);
            border-right: 1px solid var(--color-red-primary);
          }

          .column2507_btn_link {
            color: var(--color-red-primary);
          }
        }
      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_special_btn_wrap {
      display: grid;
      place-content: center;
      padding: 3em 0;

      .column2507_special_btn_inner {
        &.column2507_grid {
          grid-template-columns: auto;
          grid-template-rows: auto auto auto;
          grid-template-areas:
          "item-01"
          "item-02"
          "item-03";
          column-gap: 0;
          max-width: 325px;

          .column2507_btn_img_container {
            grid-area: item-01;
            width: 100%;
            max-width: none;
            min-width: auto;
          }

          .column2505_btn_text_container {
            font-size: 18px;
          }

          .column2507_btn_container {
            .column2507_btn_link {
              font-size: 0.82rem;
              min-height: 45.3px;
            }
          }
        }
      }
    }
  }
  /* .column2507_btn_img_box {
    width: 50%;
    margin-inline: auto;
  }
  @media screen and (max-width: 499px) {
    .column2507_btn_img_box {
      width: 100%;
    }
  } */
}



#p-worldnews-2507 {
  .column2507_visual_box {
    &.column2507_flex {
      display: flex;
      margin-bottom: 0;
      
      .column2507_img {
        border: none;
        
        &:first-of-type {
          width: 63.75%;
        }
        &:nth-of-type(2) {
          width: 36.25%;
        }
      }
    }
    @media screen and (max-width: 768px) {
      &.column2507_flex {
        flex-direction: column;

        .column2507_img {
          &:first-of-type {
            width: 100%;
          }
          &:nth-of-type(2) {
            width: 100%;
          }
        }
      }
    }
  }

  .column2507_btn_box {
    margin-top: 8em;
  }
  @media screen and (max-width: 768px) {
    .column2507_btn_box {
      margin-top: 4em;
    }
  }

  .column2507_body_text {
    &.add_mg_bt {
      margin-bottom: 48px;
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_body_text {
      &.add_mg_bt {
        margin-bottom: 30px;
      }
    }
  }
}



#p-topics-2507 {
  .column2507_contents_intro {
    margin-bottom: 12em;
  }
  @media screen and (max-width: 768px) {
    .column2507_contents_intro {
      margin-bottom: 6em;
    }
  }

  .column2507_visual_box {
    .column2507_visual_box_comics {
      width: 50%;
      max-width: 500px;
      margin-inline: auto;

      &.column2507_flex {
        display: flex;
        flex-direction: column;
        row-gap: 20px;
      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_visual_box {
      margin-bottom: 3em;

      .column2507_visual_box_comics {
        width: 100%;
        max-width: 420px;

        &.column2507_flex {
          row-gap: 10px;
        }
      }
    }
  }

  .column2507_content_profile_warp:not(:last-of-type) {
    position: relative;
    margin-bottom: 240px;

    &::before {
      content: "";
      width: 100%;
      height: 1px;
      /* background-color: #c8c8c8; */
      background-color: #e60012;
      position: absolute;
      bottom: -120px;
      left: 0;
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_content_profile_warp:not(:last-of-type) {
      margin-bottom: 160px;
  
      &:not(:last-of-type)::before {
        bottom: -80px;
      }
    }
  }
}



:root {
  --btn-color-special-manabu: #e60012;
  --btn-color-special-odoroku: #0068B7;
  --btn-color-special-kandou: #920783;
}

#p-special-01-2507,
#p-special-02-2507 {
  .column2507_text_color_manabu {
    color: var(--btn-color-special-manabu);
  }

  .column2507_text_color_odoroku {
    color: var(--btn-color-special-odoroku);
  }

  .column2507_text_color_kandou {
    color: var(--btn-color-special-kandou);
  }

  .column2507_body_text {
    &.column2507_before_map_btn {
      margin-bottom: 48px;
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_body_text {
      &.column2507_before_map_btn_sp_only {
        margin-bottom: 48px;
      }
    }
  }

  .column2507_card_container {
    position: relative;

    .column2507_card_catch_box {
      width: 50%;
      position: absolute;
      top: -8%;
      right: -28%;
    }
  }

  .column2507_card_wrap {
    padding-right: 9%;
    margin-bottom: 120px;

    &.column2507_grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      column-gap: 9%;

      .column2507_card_img_box {
        margin-bottom: 20px;
        border-radius: 20px;
        overflow: hidden;
      }

      .column2507_card_text_box {
        margin-bottom: 20px;

        .column2507_card_text {
          text-align: center;
          font-weight: 700;
          margin: 0;
        }
      }

      .column2507_card_btn_box {
        border-radius: 9999px;
        background-color: #fff;
        position: relative;
        transition: 0.3s;

        &::before {
          content: '';
          width: 0.6em;
          height: 0.6em;
          border: 0;
          border-bottom: solid 2px;
          border-right: solid 2px;
          rotate: 45deg;
          position: absolute;
          top: 50%;
          right: 20px;
          translate: 0 calc(-50% - 0.1em);
        }

        /* まなぶカラー */
        &.column2507_card_btn_red {
          border: 1px solid var(--btn-color-special-manabu);
          filter: drop-shadow(4px 4px 0 var(--btn-color-special-manabu));

          &::before {
            border-bottom-color: var(--btn-color-special-manabu);
            border-right-color: var(--btn-color-special-manabu);
            transition: 0.3s;
          }

          &:hover {
            background-color: var(--btn-color-special-manabu);
            filter: drop-shadow(4px 4px 0 rgba(230, 0, 18, 0.3));

            &::before {
              border-bottom-color: #fff;
              border-right-color: #fff;
            }
          }
        }

        /* おどろくカラー */
        &.column2507_card_btn_blue {
          border: 1px solid var(--btn-color-special-odoroku);
          filter: drop-shadow(4px 4px 0 var(--btn-color-special-odoroku));

          &::before {
            border-bottom-color: var(--btn-color-special-odoroku);
            border-right-color: var(--btn-color-special-odoroku);
            transition: 0.3s;
          }

          &:hover {
            background-color: var(--btn-color-special-odoroku);
            filter: drop-shadow(4px 4px 0 rgba(0, 104, 183, 0.3));

            &::before {
              border-bottom-color: #fff;
              border-right-color: #fff;
            }
          }
        }

        /* かんどうするカラー */
        &.column2507_card_btn_purple {
          border: 1px solid var(--btn-color-special-kandou);
          filter: drop-shadow(4px 4px 0 var(--btn-color-special-kandou));

          &::before {
            border-bottom-color: var(--btn-color-special-kandou);
            border-right-color: var(--btn-color-special-kandou);
            rotate: 315deg;
            translate: 0 -50%;
            transition: 0.3s;
          }

          &:hover {
            background-color: var(--btn-color-special-kandou);
            filter: drop-shadow(4px 4px 0 rgba(146, 7, 131, 0.3));

            &::before {
              border-bottom-color: #fff;
              border-right-color: #fff;
            }
          }
        }

        .column2507_card_btn_link {
          display: block;
          text-decoration: none;
          text-align: center;
          color: #000;
          font-weight: 700;
          padding: 0.6em 1em;
          transition: 0.3s;

          &:hover {
            color: #fff;
          }
        }
      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_card_wrap {
      padding-right: 18%;

      &.column2507_grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        column-gap: 0;
        row-gap: min(24vw, 160px);
      }
    }
  }

  #map {
    margin-bottom: 120px;
  }

  .column2507_lead_box {
    margin-bottom: 70px;
  }
  @media screen and (max-width: 768px) {
    .column2507_lead_box {
      margin-bottom: 30px;
    }
  }

  .column2507_pavilion_wrap {
    margin-bottom: 142px;
    position: relative;

    &::before {
      content: '';
      width: 100%;
      height: 1px;
      background-color: #C8C8C8;
      position: absolute;
      bottom: -71px;
      left: 0;
    }

    &.column2507_last {
      &::before {
        content: none;
      }
    }

    &.column2507_last-02 {
      margin-bottom: 0;

      &::before {
        content: none;
      }
    }

    .column2507_subheading_container {
      .column2507_subheading_box {
        position: relative;
        line-height: 1.5;
        padding-left: 0.7em;
  
        &::before {
          content: '';
          width: 6px;
          height: calc(100% - 0.4em);
          background-color: var(--color-red-primary);
          position: absolute;
          top: 50%;
          left: 0;
          translate: 0 -50%;
        }
  
        .column2507_subheading_country {
          color: var(--color-red-primary);
        }
      }

      .column2507_offer_box {
        margin-bottom: 23px;
      }
    }
  }

  /* マップへ戻るボタン */
  .column2507_map_btn_wrap {
    margin-bottom: 48px;

    &.column2507_grid {
      display: grid;
      justify-content: flex-end;
    }

    .column2507_map_btn_link {
      &.column2507_grid {
        text-decoration: none;
        display: grid;
        align-items: center;
        grid-template-columns: auto auto;
        column-gap: 10px;
        width: fit-content;
      }

      .column2507_map_btn_text_box {
        width: fit-content;
        font-weight: 700;

        &.column2507_right_arrow {
          position: relative;
          padding-right: 1em;

          &.column2507_kandou {
            &::before {
              border-top-color: var(--btn-color-special-kandou);
              border-right-color: var(--btn-color-special-kandou);
            }
          }

          &::before {
            content: '';
            width: 0.6em;
            height: 0.6em;
            border: 0;
            border-top: solid 2px;
            border-right: solid 2px;
            transform: rotate(45deg);
            position: absolute;
            top: 50%;
            right: 0;
            translate: 0 -50%;
          }
        }
      }

      .column2507_map_btn_img_box {
        width: 112px;
        position: relative;

        .column2507_map_btn_img_text {
          position: absolute;
          top: 50%;
          left: 50%;
          translate: -50% -50%;
          margin: 0;
          font-weight: 700;
          color: #fff;
          font-size: 1.2em;
        }
      }
    }
  }

  .column2507_visual_box {
    &.column2507_width650 {
      width: 100%;
      max-width: 650px;
      margin-inline: auto;
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_visual_box {
      &.column2507_before_map_btn_sp_only {
        margin-bottom: 48px;
      }
    }
  }

  /* .column2507_intro {
    .column2507_visual_box {
      &:first-of-type {
        margin-bottom: 80px;
      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_intro {
      .column2507_visual_box {
        &:first-of-type {
          margin-bottom: 50px;
        }

        &:nth-of-type(2) {
          margin-bottom: 5em;
        }
      }
    }
  } */
}

#p-special-02-2507 {
  .column2507_intro {
    .column2507_visual_box {
      &:first-of-type {
        margin-bottom: 80px;
      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_intro {
      .column2507_visual_box {
        &:first-of-type {
          margin-bottom: 50px;
        }

        &:nth-of-type(2) {
          margin-bottom: 5em;
        }
      }
    }
  }

  .column2507_card_wrap {
    &.column2507_grid {
      .column2507_card_btn_box {

        /* まなぶカラー */
        &.column2507_card_btn_red {
    
          &::before {
            rotate: 315deg;
            translate: 0 -50%;
            transition: 0.3s;
          }
        }
    
        /* おどろくカラー */
        &.column2507_card_btn_blue {
    
          &::before {
            rotate: 315deg;
            translate: 0 -50%;
            transition: 0.3s;
          }
        }
    
        /* かんどうするカラー */
        &.column2507_card_btn_purple {

          &::before {
            rotate: 45deg;
            translate: 0 calc(-50% - 0.1em);
            transition: 0.3s;
          }
        }
    
        .column2507_card_btn_link {
          display: block;
          text-decoration: none;
          text-align: center;
          color: #000;
          font-weight: 700;
          padding: 0.6em 1em;
          transition: 0.3s;
    
          &:hover {
            color: #fff;
          }
        }
      }
    }
  }

  /* たのしむ */
  .column2507_tanoshimu_container {
    &:not(:last-of-type) {
      margin-bottom: 120px;
    }

    &:last-of-type {
      margin-bottom: 48px;
    }

    .column2507_subheading_container {
      .column2507_subheading_box {
        position: relative;
        line-height: 1.5;
        padding-left: 0.7em;
  
        &::before {
          content: '';
          width: 6px;
          height: calc(100% - 0.4em);
          background-color: var(--color-red-primary);
          position: absolute;
          top: 50%;
          left: 0;
          translate: 0 -50%;
        }
  
        .column2507_subheading_catch {
          color: var(--color-red-primary);
        }
      }
    }
  }

  .column2507_card_container_lists {
    &.column2507_grid {
      display: grid;
      /* grid-template-columns: repeat(auto-fit, minmax(286px, 1fr)); */
      /* grid-template-columns: repeat(3, 1fr); */
      /* grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); */
      grid-template-columns: repeat(auto-fit, minmax(300px, 350px));
      column-gap: 12px;
      row-gap: 20px;
      justify-content: center;
    }

    .column2507_card_content_list {
      width: 100%;
      border: 1px solid #c8c8c8;
      padding: 0;
      margin: 0;

      &.column2507_grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto 1fr;
      }

      &::before {
        content: none;
      }
    }

    .column2507_card_content_heading_box {
      background-color: #0068B7;

      .column2507_card_content_heading {
        font-size: 12px;
        font-weight: 700;
        text-align: center;
        color: #fff;
        padding: 0.5em;
      }
    }

    .column2507_card_content_img_box {
      /* height: 204px; */
      /* overflow: hidden; */
    }

    .column2507_card_content_detail_box {
      margin: 0;
      padding: 20px;
      text-align: justify;

      li {
        margin: 0;
        padding: 0;

        &::before {
          content: none;
        }
      }

      .column2507_card_content_title_box {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0.1em;
        position: relative;
        margin-bottom: 32px;

        &::after {
          content: "";
          width: 100%;
          height: 1px;
          background-color: #C8C8C8;
          position: absolute;
          bottom: -16px;
          left: 0;
          border-radius: 0;
          box-sizing: border-box;
        }
      }

      .column2507_card_content_explanation_box,
      .column2507_card_content_price_box {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0.1em;
      }

      .column2507_card_content_price_box {
        margin-bottom: 0.6em;
      }

      .column2507_card_content_place_icon_box {
        background-color: var(--color-red-primary);
        width: fit-content;
        margin-bottom: 0.6em;

        .column2507_card_content_place_icon {
          color: #FFF;
          font-size: 12px;
          font-weight: 700;
          line-height: 1;
          letter-spacing: 0.1em;
          padding: 0.5em 1em;
        }
      }

      .column2507_card_content_place_explanation_box {
        font-size: 14px;
        font-style: normal;
        line-height: 1.6;
        letter-spacing: 0.1em;

        .column2507_card_content_place_explanation_small {
          font-size: 12px;
          line-height: 1.6;
          letter-spacing: 0.1em;
        }
      }
    }
  }

  .column2507_card_wrap-03 {
    .column2507_card_content_img_box {
      height: calc(204px + 32px);
      overflow: hidden;
    }

    .column2507_card_content_img_box {
      padding-block: 16px;
      border-bottom: 1px solid #c8c8c8;
      /* margin-bottom: 32px;
      position: relative; */

      /* &::after {
        content: "";
        width: 100%;
        height: 1px;
        background-color: #c8c8c8;
        position: absolute;
        bottom: 0px;
        left: 0;
      } */
    }
  }

  .column2507_body_text {
    &.column2507_intro_text {
      &.column2507_explanation {
        font-size: 1.4em;
        line-height: 1.5;
      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_body_text {
      &.column2507_intro_text {
        &.column2507_explanation {
          font-size: 1.15em;
        }
      }
    }
  }

  .column2507_tanoshimu_box {
    &:not(:last-of-type) {
      margin-bottom: 120px;
    }
  }
}



:root {
  --btn-color-01: #6faf72;
  --btn-color-02: #ac9977;
  --btn-color-03: #eabf55;
  --btn-color-04: #a9c95e;
  --btn-color-05: #d78236;
  --btn-color-06: #7883bd;
  --btn-color-07: #d3787e;
}

#p-areanews-2507 {
  .column2507_area-select_title_box {
    width: 100%;
    background-color: #f3f3f3;
    margin-bottom: 30px;
  }
  @media screen and (max-width: 768px) {
    .column2507_area-select_title_box {
      margin-bottom: 25px;
    }
  }

  .column2507_area-select_title_text {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    padding: 0.6em 1em;
  }
  @media screen and (max-width: 768px) {
    .column2507_area-select_title_text {
      font-size: 1.1rem;
    }
  }

  .column2507_area-select_btn-box {
    margin-bottom: 160px;
  }
  @media screen and (max-width: 768px) {
    .column2507_area-select_btn-box {
      margin-bottom: 80px;
    }
  }

  .column2507_area-select_ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
    row-gap: 20px;
    justify-content: center;
  }
  @media screen and (max-width: 499px) {
    .column2507_area-select_ul {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  .column2507_area-select_li {
    margin: 0;
    padding: 0;
    border-radius: 8px;
    transition: all 0.3s;
    position: relative;

    &::after {
      content: "";
      display: inline-block;
      width: 10px;
      height: 10px;
      position: absolute;
      top: 50%;
      right: 15px;
      translate: 0 -65%;
      border-bottom: 2px solid #fff;
      border-right: 2px solid #fff;
      rotate: 45deg;
      transition: all 0.3s;
    }

    &:first-of-type {
      background-color: var(--btn-color-01);
      border: 1px solid var(--btn-color-01);
    }

    &:nth-of-type(2) {
      background-color: var(--btn-color-02);
      border: 1px solid var(--btn-color-02);
    }

    &:nth-of-type(3) {
      background-color: var(--btn-color-03);
      border: 1px solid var(--btn-color-03);
    }

    &:nth-of-type(4) {
      background-color: var(--btn-color-04);
      border: 1px solid var(--btn-color-04);
    }

    &:nth-of-type(5) {
      background-color: var(--btn-color-05);
      border: 1px solid var(--btn-color-05);
    }

    &:nth-of-type(6) {
      background-color: var(--btn-color-06);
      border: 1px solid var(--btn-color-06);
    }

    &:nth-of-type(7) {
      background-color: var(--btn-color-07);
      border: 1px solid var(--btn-color-07);
    }

    &:hover {
      background-color: #fff;

      &:first-of-type {
        &::after {
          border-bottom: 2px solid var(--btn-color-01);
          border-right: 2px solid var(--btn-color-01);
        }

        .column2507_area-select_btn-link {
          color: var(--btn-color-01);
        }
      }

      &:nth-of-type(2) {
        &::after {
          border-bottom: 2px solid var(--btn-color-02);
          border-right: 2px solid var(--btn-color-02);
        }

        .column2507_area-select_btn-link {
          color: var(--btn-color-02);
        }
      }

      &:nth-of-type(3) {
        &::after {
          border-bottom: 2px solid var(--btn-color-03);
          border-right: 2px solid var(--btn-color-03);
        }

        .column2507_area-select_btn-link {
          color: var(--btn-color-03);
        }
      }

      &:nth-of-type(4) {
        &::after {
          border-bottom: 2px solid var(--btn-color-04);
          border-right: 2px solid var(--btn-color-04);
        }

        .column2507_area-select_btn-link {
          color: var(--btn-color-04);
        }
      }

      &:nth-of-type(5) {
        &::after {
          border-bottom: 2px solid var(--btn-color-05);
          border-right: 2px solid var(--btn-color-05);
        }

        .column2507_area-select_btn-link {
          color: var(--btn-color-05);
        }
      }

      &:nth-of-type(6) {
        &::after {
          border-bottom: 2px solid var(--btn-color-06);
          border-right: 2px solid var(--btn-color-06);
        }

        .column2507_area-select_btn-link {
          color: var(--btn-color-06);
        }
      }

      &:nth-of-type(7) {
        &::after {
          border-bottom: 2px solid var(--btn-color-07);
          border-right: 2px solid var(--btn-color-07);
        }

        .column2507_area-select_btn-link {
          color: var(--btn-color-07);
        }
      }
    }

    &::before {
      content: none;
    }
  }

  .column2507_area-select_btn-link {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-decoration: none;
    padding: 1.2em;
    transition: all 0.3s;
    line-height: 1.4;
  }
  @media screen and (max-width: 768px) {
    .column2507_area-select_btn-link {
      height: 4.4em;
    }
  }

  .column2507_contents_sub-box {
    margin-bottom: 160px;

    &:last-of-type {
      margin-bottom: 0;
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_contents_sub-box {
      margin-bottom: 100px;
    }
  }

  .column2507_area_box {
    &.column2507_flex {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      column-gap: 12px;
      row-gap: 12px;
    }
  }

  .column2507_body_text_areanews {
    margin-bottom: 4em;

    &.mb-48 {
      margin-bottom: 48px;
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_body_text_areanews {
      margin-bottom: 2em;
  
      &.mb-48 {
        margin-bottom: 18px;
      }
    }
  }

  .column2507_back-top_btn-box {
    &.column2507_flex {
      display: flex;
      justify-content: flex-end;
      align-items: center;
    }

    .column2507_back-top_btn-text {
      display: inline-block;
      color: #000;
      font-size: 1rem;
      font-weight: 700;
      text-align: right;
      text-decoration: none;
      transition: all 0.3s;
      position: relative;
  
      &::after {
        content: "";
        width: 100%;
        height: 1px;
        background-color: #000;
        position: absolute;
        bottom: 0.1em;
        right: 0;
        transition: all 0.3s;
      }
    }

    .column2507_back-top_btn-arrow {
      position: relative;
      font-size: 1rem;
      padding-right: 1.5em;
  
      &::after {
        content: "";
        display: inline-block;
        width: 0.6em;
        height: 0.6em;
        position: absolute;
        top: 50%;
        right: 0.2em;
        translate: 0 -25%;
        border-top: 2px solid #000;
        border-left: 2px solid #000;
        rotate: 45deg;
        transition: all 0.3s;
      }
    }

    &:hover {
      .column2507_back-top_btn-text {
        color: #808080;

        &::after {
          background-color: #808080;
        }
      }
      
      .column2507_back-top_btn-arrow {
        &::after {
          border-top: 2px solid #808080;
          border-left: 2px solid #808080;
        }
      }
    }
  }

  @media screen and (max-width: 768px) {
    .column2507_visual_box {
      &.column2507_areanews {
        margin-bottom: 22px;
      }
    }
  }

  .column2507_title_area_glid {
    display: grid;
    grid-template-rows: auto auto;
    row-gap: 8px;

    &::after {
      content: none;
    }
  }

  .column2507_title_area_box {
    display: grid;
    place-content: center;
    border-radius: 5px;
    width: fit-content;

    &.column2507_area_01 {
      background-color: var(--btn-color-01);
    }
    
    &.column2507_area_02 {
      background-color: var(--btn-color-02);
    }

    &.column2507_area_03 {
      background-color: var(--btn-color-03);
    }

    &.column2507_area_04 {
      background-color: var(--btn-color-04);
    }

    &.column2507_area_05 {
      background-color: var(--btn-color-05);
    }

    &.column2507_area_06 {
      background-color: var(--btn-color-06);
    }

    &.column2507_area_07 {
      background-color: var(--btn-color-07);
    }
  }

  .column2507_title_area_text {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    padding: 0.4em 2em;
  }
  @media screen and (max-width: 768px) {
    .column2507_title_area_text {
      font-size: 14px;
    }
  }
}



#p-pavilion-2507 {
  .column2507_contents_box {
    .column2507_contents_sub-sub-heading_box {
      &.column2507_last {

      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_contents_box {
      .column2507_contents_sub-sub-heading_box {
        &.column2507_last {
          margin-bottom: 60px;
        }
      }
    }
  }

  .column2507_visual_box_explanation-02 {
    display: grid;
    /* grid-template-columns: 572px 1fr; */
    grid-template-columns: 75% 1fr;
    align-items: flex-end;
    column-gap: 10px;
    margin-top: 30px;
  }
  @media screen and (max-width: 768px) {
    .column2507_visual_box_explanation-02 {
      grid-template-columns: 1fr;
      grid-template-rows: auto 1fr;
      align-items: flex-end;
      column-gap: 0;
      row-gap: 30px;
      margin-top: 30px;
    }
  }

  .column2507_visual_box_explanation-03 {
    display: grid;
    grid-template-columns: 1fr 120px;
    align-items: center;
    column-gap: 20px;
    padding: 2em;
    border: 1px solid #c8c8c8;
    margin-bottom: 80px;
  }
  @media screen and (max-width: 768px) {
    .column2507_visual_box_explanation-03 {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: 1fr auto;
      align-items: center;
      column-gap: 0;
      row-gap: 20px;
      margin-bottom: 60px;

      .column2507_visual_box_explanation_img {
        margin-inline: auto;
        width: 70%;
        max-width: 200px;
      }
    }
  }

  .column2507_body_text {
    &.column2507_intro_text {
      &.column2507_ft_wt_reg {
        font-weight: 400;
      }
    }
  }

  .column2507_text_post_box {
    background-color: #f3f3f3;
    display: inline-block;
    padding: 0.2em 0.8em;
    margin-bottom: 0.5em;
    font-weight: 700;
  }

  .column2507_btn_link_text {
    .column2507_text_big12 {
      line-height: 2;
    }
  }

  .column2507_body_text {
    &.column2507_intro_text {
      &.column2507_explanation {
        font-size: 1.4em;
        line-height: 1.5;
      }
    }
  }
  @media screen and (max-width: 768px) {
    .column2507_body_text {
      &.column2507_intro_text {
        &.column2507_explanation {
          font-size: 1.15em;
        }
      }
    }
  }
}
