@charset "UTF-8";

/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {
   #after .gnav li a {
      color: #FFFFFF;
   }
   #after .gnav li a::after {
    background-color: #FFFFFF;
  }
   #after .seo_bread_list {
      color: #FFFFFF;
   }
   #after .seo_bread_list a {
      color: #FFFFFF;
   }
   #after .main-ttl-wrap {
      background: url(../images/after/fv.jpg)no-repeat top center;
      background-size: cover;
      margin-top: -50px;
      padding: 212px 0 153px;
      margin-bottom: 9.375rem;
   }
   #after .main-ttl-wrap .en {
      color: #FFFFFF;
   }
   #after .main-ttl-wrap h1 {
      color: #FFFFFF;
      position: relative;
      margin-bottom: 13rem;
   }
   #after .main-ttl-wrap h1::after {
      content: "";
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -9.5rem;
      width: 1px;
      height: 5rem;
      background-color: #FFFFFF;
   }
   #after .main-ttl-wrap .main-lead {
      font-weight: 500;
      font-size: 24px;
      letter-spacing: 0.05em;
      line-height: 1.708333;
      text-align: center;
      color: #fff;
      margin-bottom: 1.85rem;
   }
   #after .main-ttl-wrap .main-txt {
      font-weight: 400;
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2.5;
      text-align: center;
      color: #fff;
   }
   #after main {
    max-width: 1920px;
    margin-inline: auto;
    width: 100%;
}

   /* after
   -------------------------------------*/
   .after {
      width: min(95%, 1200px);
      margin-inline: auto;
      background: #F0EFEB;
      margin-bottom: 6.875rem;
    }
    .after .ttl-box {
      background: #333333;
    }
    .after .ttl-box h2 {
      color: #FFFFFF;
      text-align: center;
      font-size: 24px;
      line-height: 1.7083333333;
      letter-spacing: 0.05em;
      font-weight: 500;
      padding: 0.55rem 0 1.8rem;
    }
    .after .ttl-box .en-ttl {
      font-size: 13px;
      line-height: 1.2307692308;
      letter-spacing: 0em;
      font-weight: 400;
      background: #FFFFFF;
      text-align: center;
      padding: 0.125rem 0;
      display: block;
      width: 5rem;
      margin-inline: auto;
      top: -0.65rem;
      position: relative;
    }
    .after .inner {
      padding: 3.5rem 5rem 5rem;
    }
    .after .inBox h3 {
      font-size: 18px;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 500;
      margin-bottom: 1.25rem;
    }
    .after .inBox .txt {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 400;
    }
    .after .inBox .photo img {
      width: 100%;
      height: auto;
    }

    /* after01 */
    .after01 .inBox01 {
      display: grid;
      grid-template-columns: 46.1538% 50%;
      gap: 2.5rem;
      padding-bottom: 3.5rem;
      align-items: flex-start;
    }
    .after01 .inBox01 .photo-box {
      position: relative;
      margin: 0.25rem 0 0;
    }
    .after01 .inBox01 .label {
      position: absolute;
      bottom: -1.3rem;
      width: 8.75rem;
    }
    .after01 .inBox01 .label img {
      width: 100%;
      height: auto;
    }
    .after01 .inBox01 .label01 {
      right: 10.25rem;
    }
    .after01 .inBox01 .label02 {
      right: 1.25rem;
    }
    .after01 .inBox02 {
      background: #FFFFFF;
      padding: 2.35rem 3.75rem 2rem;
    }
    .after01 .inBox02 h3 {
      font-size: 18px;
      line-height: 1.75;
      letter-spacing: 0.05em;
      font-weight: 500;
      border-bottom: 1px solid #1C1C1C;
      margin-bottom: 1.3rem;
      display: inline-block;
    }
    .after01 .inBox02 .list {
      display: grid;
      gap: 1.1rem;
      margin-bottom: 1.5rem;
    }
    .after01 .inBox02 .list li {
      font-size: 16px;
      line-height: 1.75;
      letter-spacing: 0.05em;
      font-weight: 400;
      border-bottom: 1px dotted #E0E0E0;
      position: relative;
      padding: 0 0 0.45rem 1.85rem;
    }
    .after01 .inBox02 .list li span {
      font-weight: 600;
    }
    .after01 .inBox02 .list li::before {
      content: "";
      position: absolute;
      top: 9%;
      left: 0;
      width: 1.25rem;
      height: 1.25rem;
      background: url(../images/after/check.png) no-repeat;
      background-size: contain;
    }
    .after01 .inBox02 .img {
      margin: 0 3.25rem 2.5rem;
    }
    .after01 .inBox02 .img img {
      width: 100%;
      height: auto;
    }
    .after01 .inBox02 .bottom-box {
      background: #D8D5CE;
      border-radius: 10px;
      padding: 1.85rem 3.8rem 1.7rem;
      text-align: center;
    }
    .after01 .inBox02 .bottom-box h4 {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 400;
      border-bottom: 1px solid #8E7016;
      display: inline-block;
      padding: 0 0 0.1rem;
      margin: 0 0 1.4rem;
    }
    .after01 .inBox02 .bottom-box h4 span {
      color: #8E7016;
      font-size: 20px;
      line-height: 1.6;
      letter-spacing: 0.05em;
      font-weight: 600;
      margin: 0 0.15rem;
    }
    .after01 .inBox02 .bottom-box .list {
      gap: 0.8rem;
      margin-bottom: 0;
    }
    .after01 .inBox02 .bottom-box .list li {
      font-size: 14px;
      line-height: 2.2857142857;
      letter-spacing: 0.05em;
      font-weight: 400;
      border-bottom: 1px dotted #FFFFFF;
      text-align: left;
      padding: 0 0 0.25rem;
    }
    .after01 .inBox02 .bottom-box .list li::before {
      content: none;
    }
    .after01 .inBox02 .desc {
      font-size: 12px;
      line-height: 3;
      letter-spacing: 0.05em;
      font-weight: 400;
      text-align: right;
    }

    /* after02
    -------------------------------------*/
    .after02 .inBox {
      display: grid;
      grid-template-columns: 46.1538% 46.1538%;
      gap: 5rem;
      align-items: flex-start;
    }
    .after02 .inner {
      padding: 3.5rem 5rem 2.5rem;
    }
    .after02 .inBox .txt {
      font-size: 18px;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 500;
      margin-bottom: 0.35rem;
    }
    .after02 .inBox .txt02 {
      font-size: 14px;
      line-height: 2.2857142857;
      letter-spacing: 0.05em;
      font-weight: 400;
      text-align: right;
    }
    .after02 .inBox h3 {
      font-size: 16px;
      line-height: 1.8;
      letter-spacing: 0.05em;
      font-weight: 500;
      border-bottom: 1px solid #1C1C1C;
      display: inline-block;
      margin-bottom: 0.5rem;
    }
    .after02 .list {
      display: grid;
      gap: 0.2rem;
      margin-bottom: 0.25rem;
    }
    .after02 .list li {
      font-size: 14px;
      line-height: 2.2857142857;
      letter-spacing: 0.05em;
      font-weight: 400;
      background: #FFFFFF;
      padding: 0.4rem 2.5rem 0.15rem;
      position: relative;
    }
    .after02 .list li::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 1.25rem;
      width: 0.875rem;
      height: 0.875rem;
      background: url(../images/after/check.png) no-repeat;
      background-size: contain;
      transform: translateY(-50%);
    }
    .after02 .photo-box {
      position: relative;
      margin: 0.25rem 0 0;
    }
    .after02 .label {
      position: absolute;
      bottom: -1.25rem;
      width: 8.75rem;
      right: 1.25rem;
    }
    .after02 .label img {
      width: 100%;
      height: auto;
    }

    /* after03
    -------------------------------------*/
    .after03 {
      margin-bottom: 15rem;
    }
    .after03 .ttl-box h2{padding: 0.65rem 0 1.8rem;}
    .after03 .lead {
      font-size: 18px;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 500;
      text-align: center;
      margin-bottom: 0.65rem;
    }
    .after03 .txt {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 400;
      margin-bottom: 3.55rem;
      text-align: center;
    }
    .after03 .inBox {
      background: #FFFFFF;
      padding: 2.25rem 3.75rem 3.7rem;
      text-align: center;
    }
    .after03 .inBox h3 {
      font-size: 16px;
      line-height: 1.8;
      letter-spacing: 0.05em;
      font-weight: 500;
      border-bottom: 1px solid #1C1C1C;
      margin-bottom: 1.875rem;
      display: inline-block;
    }
    .after03 .inBox .item {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.625rem;
      margin-bottom: 2.5rem;
    }
    .after03 .inBox .item li {
      position: relative;
      padding: 1.25rem 1.25rem 1.875rem;
    }
    .after03 .inBox .item li:nth-child(1) {
      background: #E2DBC4;
    }
    .after03 .inBox .item li:nth-child(2) {
      background: #C6B78A;
    }
    .after03 .inBox .item li:nth-child(3) {
      background: #8E7016;
    }
    .after03 .inBox .item li:nth-child(3) .txt {
      color: #FFFFFF;
    }
    .after03 .inBox .item li .num {
      font-size: 13px;
      line-height: 1.2307692308;
      letter-spacing: 0em;
      font-weight: 400;
      padding: 0.75rem;
      position: absolute;
      top: 0;
      left: 0;
    }
    .after03 .inBox .item li:nth-child(1) .num {
      background: #E2DBC4;
    }
    .after03 .inBox .item li:nth-child(2) .num {
      background: #C6B78A;
    }
    .after03 .inBox .item li:nth-child(3) .num {
      background: #8E7016;
      color: #fff;
    }
    .after03 .inBox .item li:nth-child(1)::after, 
    .after03 .inBox .item li:nth-child(2)::after {
      position: absolute;
      content: "";
      background: url(../images/after/item-arrow.svg) no-repeat;
      background-size: contain;
      width: 1.875rem;
      height: 2.5rem;
      right: -1.25rem;
      top: 28%;
      z-index: 2;
    }
    .after03 .inBox .item li .photo {
      margin-bottom: 1.115rem;
    }
    .after03 .inBox .item li .txt {
      font-size: 16px;
      line-height: 1.625;
      letter-spacing: 0.05em;
      font-weight: 600;
      margin-bottom: 0;
    }
    .after03 .inBox02 {
      background: #F0EFEB;
      border-radius: 10px;
      padding: 1.05rem 2.5rem 1.5rem;
      text-align: left;
    }
    .after03 .inBox02 h3 {
      margin-bottom: 0.4rem;
    }
    .after03 .inBox02 .list {
      display: flex;
      flex-wrap: wrap;
      gap: 0rem 1.875rem;
    }
    .after03 .inBox02 .list .break {
      flex-basis: 100%;
      height: 0;
    }
    .after03 .inBox02 .list li {
      font-size: 14px;
      line-height: 2.25;
      letter-spacing: 0.05em;
      font-weight: 400;
    }
    .after03 .inBox02 .list span {
      font-size: 14px;
      font-weight: 400;
      line-height: 2.2857;
      letter-spacing: 0.05em;
    }

   

/* bottom-section
-------------------------------------*/
.bottom-section {
   background: #F0EFEB;
   padding: 0 0 5rem;
}
.bottom-section h2 {
   font-weight: 500;
   font-size: 30px;
   letter-spacing: 0.05em;
   line-height: 1.7;
   text-align: center;
   padding: 8.55rem 0;
}
.bottom-section .photo-frame {
   position: relative;
}
.bottom-section .photo-frame .photo img {
   width: 100%;
   height: auto;
}
.bottom-section .photo-frame .txt {
   font-weight: 500;
   font-size: 24px;
   letter-spacing: 0.05em;
   line-height: 1.708333;
   text-align: center;
   color: #fff;
   position: absolute;
   bottom: 4.75rem;
   left: 50%;
   transform: translateX(-50%);
}
.bottom-section .link-frame {
   padding: 12.2rem 0 4.95rem;
}
.bottom-section .link-frame h3 {
   font-weight: normal;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 2;
   text-align: center;
   margin-bottom: 3.15rem;
}
.bottom-section .btn-list {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: calc(100 / 1920 * 100vw);
   margin-inline: auto;
   width: min(95%, 820px);
}
.bottom-section .btn-list li span {
   font-size: 16px;
   font-weight: 400;
   line-height: 1.1875;
   letter-spacing: 0;
   display: block;
   color: #9A9A9A;
   text-align: right;
   padding: 1.25rem 0 0;
}
.bottom-section .btn-list .btn {
   border-bottom: 1px solid #1C1C1C;
   padding: 0 0 0.75rem;
   position: relative;
   font-size: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
   width: 100%;
}
.bottom-section .btn-list .btn::after {
   content: "→";
   position: absolute;
   right: 0;
   top: 45%;
   transform: translateY(-50%);
   font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
   color: #333333;
   font-weight: 400;
   font-family: "Lato", sans-serif;
   transition: all 0.2s ease;
}
.bottom-section .btn-list .btn:hover::after {
   right: -0.3125rem;
}
.bottom-section .btn-list a {
   text-decoration: none;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1000px)
======================================== */
@media screen and (min-width:768px) and (max-width:1000px) {
   .after .inner {
      padding: calc(56 / 1000 * 100vw) calc(80 / 1000 * 100vw) calc(80 / 1000 * 100vw);
   }
    .after01 .inBox01 .label {
      bottom: calc(-20 / 1000 * 100vw);
      width: calc(140 / 1000 * 100vw);
   }
   .after01 .inBox01 .label01 {
      right: calc(164 / 1000 * 100vw);
   }
   .after01 .inBox01 .label02 {
      right: calc(20 / 1000 * 100vw);
   } 
   .after02 .label {
      bottom: calc(-20 / 1000 * 100vw);
      width: calc(140 / 1000 * 100vw);
      right: calc(20 / 1000 * 100vw);
   }
   .after02 .inBox {
      gap: calc(40 / 1000 * 100vw);
      grid-template-columns: 57.1538% 1fr;
   }
}



/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
   #after .gnav li a {
      color: #FFFFFF;
   }
   #after .gnav li a::after {
    background-color: #FFFFFF;
  }
   #after .seo_bread_list {
      color: #FFFFFF;
   }
   #after .seo_bread_list a {
      color: #FFFFFF;
   }
   #after .main-ttl-wrap {
      background: url(../images/after/fv_sp.jpg)no-repeat top center;
      background-size: cover;
      padding: 38vw 0 31.2vw;
      margin-bottom: 24vw;
   }
   #after .main-ttl-wrap .en {
      color: #FFFFFF;
   }
   #after .main-ttl-wrap h1 {
      color: #FFFFFF;
      position: relative;
      margin-bottom: 21vw;
   }
   #after .main-ttl-wrap h1::after {
      content: "";
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -14vw;
      width: 0.2vw;
      height: 12.6vw;
      background-color: #B2B0B0;
   }
   #after .main-ttl-wrap .main-lead {
      font-weight: 500;
      font-size:4.348vw;
      letter-spacing: 0.05em;
      line-height: 1.94444;
      text-align: center;
      color: #fff;
      margin-bottom: 10.4vw;
   }
   #after .main-ttl-wrap .main-txt {
      font-weight: 400;
      font-size:3.382vw;
      letter-spacing: 0.05em;
      line-height: 2.285714;
      text-align: center;
      color: #fff;
   }


    /* after
   -------------------------------------*/
   .after {
      background: #F0EFEB;
      margin-bottom: 21vw;
    }
    .after .ttl-box {
      background: #333333;
    }
    .after .ttl-box h2 {
      color: #FFFFFF;
      text-align: center;
      font-size:5.072vw;
      line-height: 1.71428;
      letter-spacing: 0.05em;
      font-weight: 500;
      padding: 1.75vw 0 6vw;
    }
    .after .ttl-box .en-ttl {
      font-size:3.14vw;
      line-height: 1.2307692308;
      letter-spacing: 0em;
      font-weight: 400;
      background: #FFFFFF;
      text-align: center;
      padding: 0.5vw 0;
      display: block;
      width: 19.4vw;
      margin-inline: auto;
      top: -2.7vw;
      position: relative;
    }
    .after .inner {
      padding: 7vw 2.9vw 20.2vw;
    }
    .after .inBox h3 {
      font-size:3.865vw;
      line-height: 2.25;
      letter-spacing: 0.05em;
      font-weight: 500;
      margin-bottom: 6vw;
      order: 1;
    }
    .after .inBox .txt {
      font-size:3.382vw;
      line-height: 2.285714;
      letter-spacing: 0.05em;
      font-weight: 400;
      order: 3;
    }
    .after .inBox .photo img {
      width: 100%;
      height: auto;
    }

   /* after01 */
   .after01 .inBox01 {
      width: 89.375vw;
      margin-inline: auto;
      display: grid;
      margin-bottom: 13vw;
   }
   .after01 .inBox01 .txt-box {
      display: contents;
   }
   .after01 .inBox01 .photo-box {
      order: 2;
      position: relative;
      margin-bottom: 20vw;
   }
   .after01 .inBox01 .label {
      position: absolute;
      bottom: -14vw;
      width: 25.604vw;
    }
    .after01 .inBox01 .label img {
      width: 100%;
      height: auto;
    }
    .after01 .inBox01 .label01 {
      right: 24.2vw;
    }
    .after01 .inBox01 .label02 {
      right: -2.5vw;
    }

    .after01 .inBox02 {
      background: #FFFFFF;
      padding: 14.5vw 2.4vw 10vw;
      text-align: center;
    }
    .after01 .inBox02 h3 {
      font-size:4.348vw;
      line-height: 1.5;
      letter-spacing: 0.05em;
      font-weight: 500;
      border-bottom: 0.2vw solid #1C1C1C;
      display: inline-block;
      margin-bottom: 7.4vw;
    }
    .after01 .inBox02 .list {
      display: grid;
      gap: 3.65vw;
      margin-bottom: 8vw;
      width: 81.75vw;
      margin-inline: auto;
    }
    .after01 .inBox02 .list li {
      font-size:3.623vw;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 400;
      border-bottom: 0.2vw dotted #E0E0E0;
      position: relative;
      padding: 0 0 2vw 7.5vw;
      text-align: left;
    }
    .after01 .inBox02 .list li span {
      font-weight: 600;
    }
    .after01 .inBox02 .list li::before {
      content: "";
      position: absolute;
      top: 1.5vw;
      left: 0vw;
      width: 5vw;
      height: 5vw;
      background: url(../images/after/check.png) no-repeat;
      background-size: contain;
    }
    .after01 .inBox02 .img {width: 217vw;}
    .after01 .inBox02 .img img {
      width: 100%;
      height: auto;
    }
    .after01 .inBox02 .js-scrollable{
      margin-bottom: 3.4vw;
    }
    .after01 .inBox02 .scroll-txt {
      font-size:3.382vw;
      font-weight: 400;
      line-height: 2.2857;
      letter-spacing: 0.05em;
      text-align: left;
      position: relative;
      margin: 0 0 9vw 3.4vw;
    }
    .after01 .inBox02 .scroll-txt::after {
      position: absolute;
      content: "";
      background: url(../images/after/scroll-arrow.svg) no-repeat;
      background-size: contain;
      width: 17vw;
      height: 1.2vw;
      right: 33.2vw;
      top: 50%;
      transform: translateY(-50%);
    }

    .after01 .inBox02 .bottom-box {
      background: #D8D5CE;
      border-radius: 2vw;
      padding: 7vw 0vw 8.8vw;
      text-align: center;
      margin-bottom: 2vw;
    }
    .after01 .inBox02 .bottom-box h4 {
      font-size:3.382vw;
      line-height: 2.285714;
      letter-spacing: 0.05em;
      font-weight: 400;
      border-bottom: 0.2vw solid #8E7016;
      display: inline-block;
      padding: 0 0 0.5vw;
      margin: 0 0 6vw;
    }
    .after01 .inBox02 .bottom-box h4 span {
      color: #8E7016;
      font-size:4.831vw;
      line-height: 1.6;
      letter-spacing: 0.05em;
      font-weight: 600;
      margin: 0 0.8vw 0 2.8vw;
    }
    .after01 .inBox02 .bottom-box .list {
      gap: 1.8vw;
      margin-bottom: 0;
      width: 84.2vw;
    }
    .after01 .inBox02 .bottom-box .list li {
      font-size:3.382vw;
      line-height: 2.2857142857;
      letter-spacing: 0.05em;
      font-weight: 400;
      border-bottom: 0.2vw dotted #FFFFFF;
      text-align: left;
      padding: 0 1vw 1.4vw 2vw;
    }
    .after01 .inBox02 .bottom-box .list li::before {
      content: none;
    }
    .after01 .inBox02 .desc {
      font-size:2.898vw;
      line-height: 2.66;
      letter-spacing: 0.05em;
      font-weight: 400;
      text-align: center;
    }

   /* after02
    -------------------------------------*/
    .after02 {
      margin-bottom: 22vw;
    }
    .after02 .inBox {
      display: grid;
    }
    .after02 .inner {padding: 7.1vw 4.1vw 7vw;}
    .after02 .inBox .content {
      display: contents;
    }
    .after02 .inBox .txt {
      font-size:3.865vw;
      line-height: 2.25;
      letter-spacing: 0.05em;
      font-weight: 500;
      margin: 0 1.2vw 5vw;
      order: 1;
    }
    .after02 .inBox .txt02 {
      font-size:3.382vw;
      line-height: 2.2857142857;
      letter-spacing: 0.05em;
      font-weight: 400;
      text-align: right;
      order: 5;
      padding: 0 1vw 0 0;
    }
    .after02 .inBox h3 {
      font-size:4.348vw;
      line-height: 1.65;
      letter-spacing: 0.05em;
      font-weight: 500;
      border-bottom: 0.2vw solid #1C1C1C;
      display: inline-block;
      margin-bottom: 7vw;
      order: 3;
      width: 18.2vw;
      text-align: center;
      margin-inline: auto;
    }
    .after02 .list {
      display: grid;
      gap: 1vw;
      margin-bottom: 0.5vw;
      order: 4;
    }
    .after02 .list li {
      font-size:3.382vw;
      line-height: 2.2857142857;
      letter-spacing: 0.05em;
      font-weight: 400;
      background: #FFFFFF;
      padding: 1vw 10vw;
      position: relative;
    }
    .after02 .list li::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 5vw;
      width: 3.4vw;
      height: 3.4vw;
      background: url(../images/after/check.png) no-repeat;
      background-size: contain;
      transform: translateY(-50%);
    }
    .after02 .photo-box {
      position: relative;
      margin: 1vw 1.2vw 12.4vw;
      order: 2;
    }
    .after02 .label {
      position: absolute;
      bottom: -11vw;
      width: 29.955vw;
      right: 0vw;
    }
    .after02 .label img {
      width: 100%;
      height: auto;
    }


    /* after03
    -------------------------------------*/
    .after03 {margin-bottom: 23.2vw;}
    .after03 .inner {padding: 7.2vw 5.3vw 20.2vw;}
    .after03 .ttl-box h2{}
    .after03 .lead {
      font-size:3.865vw;
      line-height: 2.25;
      letter-spacing: 0.05em;
      font-weight: 500;
      margin-bottom: 2.4vw;
    }
    .after03 .txt {
      font-size:3.382vw;
      line-height: 2.2857;
      letter-spacing: 0.05em;
      font-weight: 400;
      margin-bottom: 8vw;
    }
    .after03 .inBox {
      background: #FFFFFF;
      padding: 9vw 2.4vw 9.2vw;
      text-align: center;
    }
    .after03 .inBox h3 {
      font-size:4.348vw;
      line-height: 1.8;
      letter-spacing: 0.05em;
      font-weight: 500;
      border-bottom: 0.2vw solid #1C1C1C;
      margin-bottom: 6.4vw;
      display: inline-block;
    }
    .after03 .inBox .item {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: 2.3vw;
      margin-bottom: 10vw;
      width: 72.5vw;
      margin-inline: auto;
    }
    .after03 .inBox .item li {
      position: relative;
      padding: 4.5vw 4.84vw 7vw;
    }
    .after03 .inBox .item li:nth-child(1) {
      background: #E2DBC4;
    }
    .after03 .inBox .item li:nth-child(2) {
      background: #C6B78A;
    }
    .after03 .inBox .item li:nth-child(3) {
      background: #8E7016;
      padding: 4.5vw 4.84vw 13vw;
    }
    .after03 .inBox .item li:nth-child(3) .txt {
      color: #FFFFFF;
    }
    .after03 .inBox .item li .num {
      font-size:3.14vw;
      line-height: 1.2307692308;
      letter-spacing: 0em;
      font-weight: 400;
      padding: 3vw 3.02vw;
      position: absolute;
      top: 0;
      left: 0;
    }
    .after03 .inBox .item li:nth-child(1) .num {
      background: #E2DBC4;
    }
    .after03 .inBox .item li:nth-child(2) .num {
      background: #C6B78A;
    }
    .after03 .inBox .item li:nth-child(3) .num {
      background: #8E7016;
      color: #fff;
    }
    .after03 .inBox .item li:nth-child(1)::after, 
    .after03 .inBox .item li:nth-child(2)::after {
      position: absolute;
      content: "";
      background: url(../images/after/item-arrow_sp.svg) no-repeat;
      background-size: contain;
      width: 9.7vw;
      height: 7.25vw;
      left: 50%;
      transform: translateX(-50%);
      bottom: -4.2vw;
      z-index: 2;
    }
    .after03 .inBox .item li .photo {
      margin-bottom: 5vw;
    }
    .after03 .inBox .item li .txt {
      font-size:3.865vw;
      line-height: 1.625;
      letter-spacing: 0.05em;
      font-weight: 600;
      margin-bottom: 0;
    }
    .after03 .inBox02 {
      background: #F0EFEB;
      border-radius: 2vw;
      padding: 6.2vw 4vw 8vw;
      text-align: center;
    }
    .after03 .inBox02 h3 {
      margin-bottom: 3.5vw;
      text-align: center;
      margin-inline: auto;
      font-size: 3.865vw;
    }
    .after03 .inBox02 .list {
      display: grid;
      gap: 0.65vw;
      text-align: left;
    }
    .after03 .inBox02 .list li {
      font-size: 3.382vw;
      line-height: 2.25;
      letter-spacing: 0.05em;
      font-weight: 400;
    }

   

/* bottom-section
-------------------------------------*/
.bottom-section {
   background: #F0EFEB;
   padding: 0 0 4vw;
}
.bottom-section h2 {
   font-weight: 500;
   font-size:5.797vw;
   letter-spacing: 0.05em;
   line-height: 1.75;
   text-align: center;
   padding: 12vw 0 9vw;
}
.bottom-section .photo-frame {
   position: relative;
}
.bottom-section .photo-frame .photo img {
   width: 100%;
   height: auto;
}
.bottom-section .photo-frame .txt {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 2;
   text-align: center;
   color: #fff;
   position: absolute;
   bottom: 8.6vw;
   left: 50%;
   transform: translateX(-50%);
   width: 100%;
}
.bottom-section .link-frame {
   padding: 18.4vw 0 20.5vw;
}
.bottom-section .link-frame h3 {
   font-weight: 400;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 2;
   text-align: center;
   margin-bottom: 15.7vw;
}
.bottom-section .btn-list {
   display: grid;
   grid-template-columns: 1fr;
   gap: 8.3vw;
   width: 78.1vw;
   margin-inline: auto;
}
.bottom-section .btn-list li span {
   font-size:2.898vw;
   font-weight: 400;
   line-height: 1.25;
   letter-spacing: 0;
   display: block;
   color: #9A9A9A;
   text-align: right;
   padding: 2.5vw 0 0 0;
   margin: 0 0.8vw 0 0;
}
.bottom-section .btn-list .btn {
   border-bottom: 0.2vw solid #1C1C1C;
   padding: 0 0 3.2vw;
   position: relative;
   font-size:4.831vw;
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
   width: 77.58vw;
   margin: 0;
}
.bottom-section .btn-list .btn::after {
   content: "→";
   position: absolute;
   right: 0;
   top: 45%;
   transform: translateY(-50%);
   font-size: 3.831vw;
   color: #333333;
   font-weight: 400;
   font-family: "Lato", sans-serif;
   transition: all 0.2s ease;
}
.bottom-section .btn-list .btn:hover::after {right: -1vw;}
.bottom-section .btn-list a {
   text-decoration: none;
}

}
