/*! Writen  by SCSS */
.inner_main .inner_main_bg {
  background-image: url("../images/main.jpg"); }

.bg_wrap {
  position: relative; }
  .bg_wrap:before {
    content: "";
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../images/bg_design.jpg"); }
    @media screen and (max-width: 480px) {
      .bg_wrap:before {
        background-image: url("../images/bg_design_sp.jpg"); } }

.en_ttl {
  text-align: center;
  font-size: clamp(20px, 1.875vw, 30px);
  color: #00245a;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: clamp(40px, 5.834vw, 70px); }
  @media screen and (max-width: 480px) {
    .en_ttl {
      font-size: 7vw;
      margin-bottom: 40px; } }
  .en_ttl.yellow {
    color: #FFC; }
    .en_ttl.yellow.border:after {
      background: currentColor; }
  .en_ttl.border {
    padding-bottom: clamp(20px, 3.334vw, 40px);
    margin-bottom: clamp(20px, 3.334vw, 40px);
    position: relative; }
    .en_ttl.border:after {
      content: "";
      position: absolute;
      inset: 0;
      top: auto;
      width: 50px;
      margin: 0 auto;
      background: #00245a;
      height: 1px; }

.full_img img {
  width: 100%; }

.sec01 {
  position: relative;
  z-index: 1; }
  .sec01 .midashi_group {
    margin-bottom: clamp(30px, 4.167vw, 50px); }
  .sec01 .sec01_cont01 {
    padding: clamp(50px, 6.154vw, 80px) 0 0; }
  .sec01 .sec01_cont02 {
    padding: clamp(60px, 8.462vw, 110px) 0 0; }
  .sec01 .sec01_cont03 {
    padding: clamp(60px, 8.462vw, 110px) 0 0; }
    .sec01 .sec01_cont03 .parse_group {
      flex-direction: column;
      row-gap: clamp(60px, 12.5vw, 150px); }
  .sec01 .sec01_cont04 {
    background: #FFF;
    padding: clamp(60px, 7.693vw, 100px) 0; }
    .sec01 .sec01_cont04 .floor_group {
      margin: 60px auto;
      justify-content: center;
      align-items: center;
      column-gap: 5%;
      max-width: 1100px; }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_cont04 .floor_group {
          margin-top: 45px;
          margin: 45px auto;
          flex-direction: column;
          row-gap: 15px; } }
    .sec01 .sec01_cont04 .floor_img {
      width: 45.55%; }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_cont04 .floor_img {
          width: 100%; } }
    .sec01 .sec01_cont04 .floor_txt {
      width: 50%; }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_cont04 .floor_txt {
          width: 100%; } }
      .sec01 .sec01_cont04 .floor_txt .sec_ttl {
        margin-bottom: 10px;
        text-align: left; }
      .sec01 .sec01_cont04 .floor_txt .read {
        line-height: 2em; }
    .sec01 .sec01_cont04 .shikihai {
      margin-bottom: clamp(30px, 4.167vw, 50px); }
      .sec01 .sec01_cont04 .shikihai .cap {
        right: 6%;
        bottom: 8%; }
    .sec01 .sec01_cont04 .sec01_cont04_item {
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 40px 5%; }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_cont04 .sec01_cont04_item {
          gap: 20px 0; } }
      .sec01 .sec01_cont04 .sec01_cont04_item .item {
        width: 30%; }
        @media screen and (max-width: 480px) {
          .sec01 .sec01_cont04 .sec01_cont04_item .item {
            width: 100%; } }
        .sec01 .sec01_cont04 .sec01_cont04_item .item.full {
          width: 100%; }
        .sec01 .sec01_cont04 .sec01_cont04_item .item .number_group {
          flex-direction: column;
          row-gap: 10px; }
          .sec01 .sec01_cont04 .sec01_cont04_item .item .number_group .number {
            justify-content: flex-start;
            border: 1px solid #231815;
            padding: clamp(5px, 0.834vw, 10px);
            align-items: center;
            column-gap: 15px;
            font-size: clamp(13px, 1.667vw, 20px); }
            @media screen and (max-width: 480px) {
              .sec01 .sec01_cont04 .sec01_cont04_item .item .number_group .number {
                column-gap: 10px;
                font-size: 4.4vw; } }
            .sec01 .sec01_cont04 .sec01_cont04_item .item .number_group .number .num {
              color: #FFF;
              width: 30px;
              aspect-ratio: 1;
              line-height: 1;
              display: flex;
              justify-content: center;
              align-items: center;
              flex-shrink: 0;
              background: #231815; }
        .sec01 .sec01_cont04 .sec01_cont04_item .item .locker_img {
          margin-top: clamp(20px, 2.5vw, 30px); }
        .sec01 .sec01_cont04 .sec01_cont04_item .item .rubbish_item .read {
          width: 61.12%; }
        .sec01 .sec01_cont04 .sec01_cont04_item .item .rubbish_item .image {
          width: 29.45%; }
        .sec01 .sec01_cont04 .sec01_cont04_item .item .wifi_item {
          background: #FFF;
          padding: 12px;
          border: 1px solid #231815;
          flex-wrap: wrap;
          align-items: center;
          justify-content: flex-start;
          gap: 12px 10%; }
          @media screen and (max-width: 480px) {
            .sec01 .sec01_cont04 .sec01_cont04_item .item .wifi_item {
              gap: 12px 5%; } }
          .sec01 .sec01_cont04 .sec01_cont04_item .item .wifi_item .wifi_txt {
            font-size: clamp(15px, 1.667vw, 20px);
            letter-spacing: -0.05em; }
            @media screen and (max-width: 480px) {
              .sec01 .sec01_cont04 .sec01_cont04_item .item .wifi_item .wifi_txt {
                font-size: 4.4vw; } }
          .sec01 .sec01_cont04 .sec01_cont04_item .item .wifi_item .wifi_ttl {
            font-size: clamp(13px, 1.5vw, 18px);
            color: #0086cd; }
            @media screen and (max-width: 480px) {
              .sec01 .sec01_cont04 .sec01_cont04_item .item .wifi_item .wifi_ttl {
                font-size: 4.4vw; } }
          .sec01 .sec01_cont04 .sec01_cont04_item .item .wifi_item .wifi_image {
            width: 13.99%; }

.caption_area {
  border-top: 1px solid #CCC; }
