@media (min-width: 769px) {

  main #view {

  }
  main #view figure {
    position: relative;
    margin: unset;
  }
  main #view figure img {
    display: block;
  }
  main #view figure figcaption {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 80%;
    color: #ffff;
  }

  main .ul_plan {
    display: flex;
    flex-direction: column;
    width: 700px;
    margin: 0 auto 0px;
  }

  main .ul_plan > li {
    position: relative;
    width: 100%;
    margin: 0 auto 20px;
  }
  main .ul_plan > li.new,
  main .ul_plan > li.illust,
  main .ul_plan > li.payment,
  main .ul_plan > li.view {
    position: relative;
  }
  main .ul_plan > li.new::after {
    content: "NEW";
    position: absolute;
    right: 0;
    top: 0;
    padding: .2rem .5rem;
    font-size: 80%;
    color: #ffff;
    background-color: #dd7007;
  }
  /* main .ul_plan > li.payment::after {
    content: "返済例掲載中";
    position: absolute;
    right: 10em;
    bottom: 4rem;
    padding: .2rem .5rem;
    font-size: 80%;
    color: #ffff;
    background-color: #00806f;
  } */
  main .ul_plan > li ol {
    position: absolute;
    right: 0;
    bottom: calc(4rem + 3px);
    display: flex;
  }
  main .ul_plan > li ol li {
    list-style: none;
  }
  main .ul_plan > li ol li.illust {
    padding: .2rem .5rem;
    font-size: 80%;
    color: #ffff;
    background-color: #c29500;
  }
  main .ul_plan > li ol li.payment {
    padding: .2rem .5rem;
    font-size: 80%;
    color: #ffff;
    background-color: #00806f;
  }
  main .ul_plan > li ol li.view {
    padding: .2rem .5rem;
    font-size: 80%;
    color: #ffff;
    background-color: #004680;
  }
  main .ul_plan > li p {
    margin-left: auto;
    padding: .2rem .5rem;
    width: 12rem;
    font-size: 80%;
    color: #ffff;
    text-align: center;
    background-color: #4c4946;
    /* border: #00806f solid 1px; */
    box-sizing: border-box;
  }

  main.plan #movie {
    display: flex;
    padding: 4rem 0;
  }
  main.plan #movie > div.title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50%;
    text-align: center;
    background-image: url(../images/plan/view_bg.webp);
    background-size: cover;
  }
  main.plan #movie > div.title img {
    width: 100px;
  }
  main.plan #movie > div.elevation {
    position: relative;
    padding: 5% 5% 0 10%;
    width: 50%;
  }
  main.plan #movie > div.title .ttl {
    margin: 1rem 0;
    padding: unset;
    color: #fff;
  }
  main.plan #movie > div.title .explanation {
    color: #fff;
  }

  main.plan #movie > div.elevation figure {
    margin: unset;
    padding: unset;
  }
  main.plan #movie > div.elevation a {
    display: block;
    position: absolute;
    left: 22%;
    width: 15%;
  }
  main.plan #movie > div.elevation a.btn1 {
    top: 5.5%;
  }
  main.plan #movie > div.elevation a.btn2 {
    top: 49%;
  }
  main.plan #movie > div.elevation a img {
    width: 100%;
  }


  main.plan #premium {

  }
  main.plan h2.ttl {
    padding-top: 40px;
    font-weight: normal;
    font-size: 1.8em;
    line-height: 3rem;
    text-align: center;
  }
  main.plan figure.image {
    position: relative;
    margin: 20px 0;
  }
  main.plan figure.image img {
    display: block;
  }
  main.plan figure.image figcaption {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 60%;
    color: #fff;
  }

  main.plan .c_box {
    padding: 20px;
  }
  main.plan .c_box h3 {
    padding-bottom: .5em;
    font-size: 1.4em;
    font-weight: normal;
    letter-spacing: .2em;
    border-bottom: 1px solid #4c4946;
  }
  main.plan .c_box h3 + p {
    padding: 1em 0 0;
    font-size: 1em;
    text-align: justify;
  }
  main.plan .c_box p.explanation {
    padding: .5em 0;
    font-size: .8em;
    text-align: justify;
  }
  main.plan .c_box ol {
    display: flex;
    gap: 20px;
    padding: unset;
  }
  main.plan .c_box ol li {
    list-style: none;
    width: calc(50% - 10px);
  }
  main.plan .c_box ol li figure {
    position: relative;
    margin: unset;
  }
  main.plan .c_box ol li figure img {
    display: block;
  }
  main.plan .c_box ol li figure figcaption {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 60%;
    color: #fff;
  }
  main.plan .c_box ol li p {
    margin: .5em 0 .2em;
    padding-left: 10px;
    font-size: .9em;
    line-height: 1.2em;
    border-left: #a5a4a2 solid 6px;
  }

}


@media (max-width: 768px) {

  main #view {

  }
  main #view figure .scroll {
  }
  main #view figure {
    position: relative;
    margin: unset;
  }
  main #view figure img {
    display: block;
    width: 200%;
  }
  main #view figure figcaption {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 80%;
    color: #ffff;
  }

  main .ul_plan {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 86%;
    margin: 0 auto 0px;
  }

  main .ul_plan > li {
    position: relative;
    width: 100%;
    margin: 0 auto 20px;
  }
  main .ul_plan > li.new,
  main .ul_plan > li.payment {
    position: relative;
  }
  main .ul_plan > li.new::after {
    content: "NEW";
    position: absolute;
    right: 0;
    top: 0;
    padding: .2rem .5rem;
    font-size: 60%;
    color: #ffff;
    background-color: #dd7007;
  }
  /* main .ul_plan > li.payment::after {
    content: "返済例\A掲載中";
    position: absolute;
    right: .25rem;
    bottom: .25rem;
    padding: .1rem .3rem;
    font-size: 60%;
    color: #ffff;
    white-space: pre;
    background-color: #00806f;
  } */
  main .ul_plan > li ol {
    position: absolute;
    right: 0;
    bottom: -.8rem;
    display: flex;
  }
  main .ul_plan > li ol li {
    list-style: none;
  }
  main .ul_plan > li ol li.illust {
    padding: .1rem .3rem;
    font-size: 60%;
    color: #ffff;
    background-color: #c29500;
  }
  main .ul_plan > li ol li.payment {
    padding: .1rem .3rem;
    font-size: 60%;
    color: #ffff;
    background-color: #00806f;
  }
  main .ul_plan > li ol li.view {
    padding: .1rem .3rem;
    font-size: 60%;
    color: #ffff;
    background-color: #004680;
  }
  main .ul_plan > li p {
    margin-left: auto;
    padding: .1rem .3rem;
    width: 10rem;
    font-size: 70%;
    color: #ffff;
    text-align: center;
    background-color: #4c4946;
    /* border: #00806f solid 1px; */
    box-sizing: border-box;
  }

  main.plan #movie {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin-bottom: 5rem;
  }
  main.plan #movie > div.title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 5% 0;
    text-align: center;
    background-image: url(../images/plan/view_bg.webp);
    background-size: cover;
  }
  main.plan #movie > div.title img {
    width: 20%;
  }
  main.plan #movie > div.elevation {
    position: relative;
    padding: 15% 5% 0;
  }
  main.plan #movie > div.title .ttl {
    margin: 0;
    padding: unset;
    font-size: 1.5rem;
    color: #fff;
  }
  main.plan #movie > div.title .explanation {
    font-size: .8rem;
    color: #fff;
  }

  main.plan #movie > div.elevation figure {
    margin: unset;
    padding: unset;
  }
  main.plan #movie > div.elevation a {
    display: block;
    position: absolute;
    left: 12%;
    width: 20%;
  }
  main.plan #movie > div.elevation a.btn1 {
    top: 9%;
  }
  main.plan #movie > div.elevation a.btn2 {
    top: 51%;
  }
  main.plan #movie > div.elevation a img {
    width: 100%;
  }


  main.plan #premium {

  }
  main.plan h2.ttl {
    /* padding-top: 40px; */
    font-weight: normal;
    font-size: 1.8em;
    line-height: 3rem;
    text-align: center;
  }
  main.plan figure.image {
    position: relative;
    margin: 20px 0;
  }
  main.plan figure.image img {
    display: block;
  }
  main.plan figure.image figcaption {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 60%;
    color: #fff;
  }

  main.plan .c_box {
    /* padding: 20px; */
  }
  main.plan .c_box h3 {
    padding-bottom: .5em;
    font-size: 1.4em;
    font-weight: normal;
    letter-spacing: .2em;
    border-bottom: 1px solid #4c4946;
  }
  main.plan .c_box h3 + p {
    padding: 1em 0 0;
    font-size: 1em;
    text-align: justify;
  }
  main.plan .c_box p.explanation {
    padding: .5em 0;
    font-size: .8em;
    text-align: justify;
  }
  main.plan .c_box ol {
    display: flex;
    gap: 20px;
    margin-top: .5em;
    padding: unset;
  }
  main.plan .c_box ol li {
    list-style: none;
    width: calc(50% - 10px);
  }
  main.plan .c_box ol li figure {
    position: relative;
    margin: unset;
  }
  main.plan .c_box ol li figure img {
    display: block;
  }
  main.plan .c_box ol li figure figcaption {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 60%;
    color: #fff;
  }
  main.plan .c_box ol li p {
    margin: .5em 0 .2em;
    padding-left: 10px;
    font-size: .9em;
    line-height: 1.2em;
    border-left: #a5a4a2 solid 6px;
  }

}