@media (min-width: 769px) {

  body:has(main.indoor) {
    overflow: unset;
  }
  main.indoor .life_plan {
    display: flex;
    gap: 40px;
    margin: auto;
    max-width: 1080px;       
  }
  main.indoor .life_plan .type {
    width: 60%;
  }
  main.indoor .life_plan .point {
    width: calc(40% - 40px);
  }

  main.indoor .life_plan .type .slide {
    position: sticky;
    top: 6rem;
    height: calc(100vh - 6em);
  }
  main.indoor .life_plan .type .slide figure {
    margin: unset;
    height: 100%;
  }
  main.indoor .life_plan .type .slide figure img {
    display: block;
    margin: auto;
    width: auto;
    height: 100%;
  }

  main.indoor .life_plan .point .plan {
    gap: 60px;
    position: relative;
    margin-bottom: 40px;
    padding: 2rem;
    background: #e9e8e8;
  }
  main.indoor .life_plan .point .plan .no {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5rem;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1.2rem;
    color: #fff;
    background: #00816f;
  }
  main.indoor .life_plan .point .plan figure {
    position: relative;
    margin: unset;
  }
  main.indoor .life_plan .point .plan .name {
    padding: 1rem 0;
    text-align: center;
    font-weight: 600;
  }
  main.indoor .life_plan .point .plan .explanation {
    font-size: .8rem;
    text-align: justify;
  }

}


@media (max-width: 768px) {

  body:has(main.indoor) {
    overflow: unset;
  }
  main.indoor .life_plan {
     
  }
  main.indoor .life_plan .type {
    position: fixed;
    top: 50px;
    left: -200%;
    width: 35%;
    height: auto;
    z-index: 11;
    background-color: #fff;
    box-shadow: 0px 0px 10px -3px rgba(0, 0, 0, 0.3);
    border-bottom-right-radius: 2rem;
    border-bottom-left-radius: 2rem;
    transition: all 0.5s;
  }
  main.indoor .life_plan .type.active {
    left: 0;
  }
  main.indoor .life_plan .type.is-zoom {
    width: 90%;
  }
  main.indoor .life_plan .type .icon_btn {
    position: absolute;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background-color: #000;
    right: -2%;
    bottom: 0;
    transform: translateY(50%);
    cursor: pointer;
  }
  main.indoor .life_plan .type .icon_btn::before,
  main.indoor .life_plan .type .icon_btn::after {
    content: "";
    width: 1rem;
    height: 0.1rem;
    background-color: #fff;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transition: all 0.15s cubic-bezier(0.42, 0, 0.58, 1);
    transition: all 0.15s cubic-bezier(0.42, 0, 0.58, 1);
    opacity: 1;
    border-radius: 2px;
  }
  main.indoor .life_plan .type .icon_btn::before {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  main.indoor .life_plan .type .icon_btn::after {
    transform: translate(-50%, -50%);
  }
  main.indoor .life_plan .type .icon_btn.is-zoom::before {
    opacity: 0;
  }

  main.indoor .life_plan .point {

  }

  main.indoor .life_plan .type .slide {
    position: sticky;
    top: 6rem;
  }
  main.indoor .life_plan .type .slide figure {
    margin: unset;
  }
  main.indoor .life_plan .type .slide figure img {
    display: block;
    width: 100%;
  }

  main.indoor .life_plan .point .plan {
    gap: 60px;
    position: relative;
    margin-bottom: 20px;
    padding: 2rem;
    background: #e9e8e8;
  }
  main.indoor .life_plan .point .plan .no {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5rem;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1.2rem;
    color: #fff;
    background: #00816f;
  }
  main.indoor .life_plan .point .plan figure {
    position: relative;
    margin: unset;
  }
  main.indoor .life_plan .point .plan .name {
    padding: 1rem 0;
    text-align: center;
    font-weight: 600;
  }
  main.indoor .life_plan .point .plan .explanation {
    font-size: .8rem;
    text-align: justify;
  }

}