/*! Writen  by SCSS */
.item_ttl .text_in .head {
  width: 72.5%; }

.sec01 .box {
  margin-bottom: clamp(60px, 8.34%, 100px); }
.sec01 .item_wrap {
  position: relative;
  flex-wrap: wrap; }
  .sec01 .item_wrap .bg, .sec01 .item_wrap::after, .sec01 .item_wrap::before {
    content: '';
    width: 100%;
    aspect-ratio: 1493/177;
    background: linear-gradient(0deg, #000 0%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    inset: 0;
    top: auto;
    z-index: 1; }
  .sec01 .item_wrap::after {
    bottom: 50%; }
    @media screen and (max-width: 480px) {
      .sec01 .item_wrap::after {
        bottom: 33%; } }
  .sec01 .item_wrap .bg {
    display: none; }
    @media screen and (max-width: 480px) {
      .sec01 .item_wrap .bg {
        display: block;
        bottom: 66%; } }
  .sec01 .item_wrap .item {
    position: relative;
    width: 33.33%; }
    @media screen and (max-width: 480px) {
      .sec01 .item_wrap .item {
        width: 50%; } }
    .sec01 .item_wrap .item .txt {
      position: absolute;
      inset: 0;
      top: auto;
      text-align: center;
      line-height: 1;
      color: #fff;
      font-size: clamp(20px, 6.5vw, 78px);
      font-weight: 100;
      z-index: 2; }
.sec01 .text_wrap {
  display: flex;
  flex-direction: column;
  row-gap: clamp(30px, 5vw, 60px);
  margin-bottom: clamp(80px, 10%, 120px);
  max-width: 1300px;
  margin-inline: auto; }
  @media screen and (max-width: 480px) {
    .sec01 .text_wrap {
      margin-bottom: 40px;
      width: 90%;
      margin-inline: auto;
      text-align: center; } }
  .sec01 .text_wrap .txt_in .sec_lead {
    margin-bottom: 1em;
    line-height: 1;
    font-size: clamp(16px, 2.334vw, 28px); }
    @media screen and (max-width: 480px) {
      .sec01 .text_wrap .txt_in .sec_lead {
        line-height: 1.8; } }
.sec01 .map_img {
  text-align: center;
  margin-bottom: clamp(80px, 10%, 120px); }
  @media screen and (max-width: 480px) {
    .sec01 .map_img {
      margin-bottom: 60px; } }

.sec02 {
  margin-bottom: 40px; }
  .sec02 .head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: clamp(18px, 2.167vw, 26px);
    border-bottom: 1px solid;
    margin-bottom: 1em; }
    @media screen and (max-width: 480px) {
      .sec02 .head {
        flex-direction: column;
        row-gap: 2px;
        padding-bottom: 10px; } }
    .sec02 .head .small {
      font-size: 70%; }
  .sec02 .list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: clamp(20px, 2.917vw, 35px);
    letter-spacing: 0.1em;
    font-weight: 400; }
    @media screen and (max-width: 480px) {
      .sec02 .list {
        flex-direction: column;
        width: 90%;
        margin-inline: auto; } }
    .sec02 .list li {
      width: 48%; }
      @media screen and (max-width: 480px) {
        .sec02 .list li {
          width: 100%; } }
      .sec02 .list li .txt_in {
        display: flex;
        align-items: center;
        width: 100%;
        column-gap: 10px; }
        .sec02 .list li .txt_in::after {
          content: '';
          width: 100%;
          height: 1px;
          border-bottom: 0px #000;
          border-style: dotted; }
        .sec02 .list li .txt_in .txt {
          line-height: 1;
          flex-shrink: 0; }
        .sec02 .list li .txt_in .txt01 {
          font-size: clamp(18px, 2.4vw, 30px); }
          .sec02 .list li .txt_in .txt01 .big {
            font-size: 133%; }
        .sec02 .list li .txt_in .txt02 {
          font-size: clamp(14px, 1.76vw, 22px);
          order: 1; }
          .sec02 .list li .txt_in .txt02 .color {
            color: #ca4851; }
          .sec02 .list li .txt_in .txt02 .big {
            font-size: 270%; }
      .sec02 .list li .read {
        line-height: 1.4;
        letter-spacing: 0;
        margin-top: 5px; }
        @media screen and (max-width: 480px) {
          .sec02 .list li .read {
            font-size: 12px; } }
