@charset "UTF-8";

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

   #design main {
      max-width: 1920px;
      margin-inline: auto;
      width: 100%;
   }


   /* point
   -------------------------------------*/
   .point .ttl-box .en-ttl {
      font-size: 13px;
      line-height: 1.2307692308;
      letter-spacing: 0em;
      font-weight: 400;
      color: #8E7016;
      text-align: center;
      margin-bottom: 1.7rem;
   }
   .point .ttl-box h2 {
      font-size: clamp(1.5rem, 1.25rem + 0.52vw, 1.875rem);
      line-height: 1.7;
      letter-spacing: 0.05em;
      font-weight: 700;
      text-align: center;
      margin-bottom: 2rem;
   }
   .point .ttl-box .en-txt {
      font-size: clamp(0.688rem, 0.646rem + 0.09vw, 0.75rem);
      line-height: 1.75;
      letter-spacing: 0em;
      font-weight: 400;
      text-align: center;
      color: #9A9A9A;
   }
   .point .txt-box {
      margin: 0.25rem 0 0;
   }
   .point .inBox .txt {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: 400;
      margin-bottom: 2rem;
   }
   .point .photo img {
      width: 100%;
      height: auto;
   }
    
   /* point01 */
   .point01 {
      padding: 0 0 14.95rem;
   }
   .point01 .ttl-box {
      display: grid;
      grid-template-columns: 37.5% 1fr;
      align-items: center;
      margin-bottom: 7.5rem;
   }
   .point01 .inBox01 {
      width: min(95%, 1640px);
      margin-inline: auto;
      display: grid;
      grid-template-columns: 50% 1fr;
      gap: calc(100 / 1920 * 100vw);
   }
   .point01 .inBox01 .content {
      margin-right: 17.5rem;
      padding: 3.5rem 0 0;
   }
   .point01 .inBox02 {
      width: min(95%, 1200px);
      margin-inline: auto;
      display: grid;
      grid-template-columns: 60% 33.33%;
      gap: calc(80 / 1920 * 100vw);
   }
   .point01 .inBox02 .content {
      margin-left: 10.625rem;
      padding: 6rem 0 0;
   }
   .point01 .inBox02 .txt:nth-child(1) {
      margin-bottom: 0;
   }
   .point01 .inBox02 .photo-box {
      display: grid;
      gap: 1.25rem;
      margin: -4.25rem 0 0;
   }

   /* point02 */
   .point02 {
      background: #333333;
      padding: 0 0 11.4rem;
   }
   .point02 .ttl-box .en-ttl {
      color: #D6B44E;
   }
   .point02 .ttl-box h2 {
      color: #FFFFFF;
   }
   .point02 .ttl-box {
      display: grid;
      grid-template-columns: 62.5% 1fr;
      align-items: center;
      margin-bottom: 10rem;
   }
   .point02 .inBox {
      width: min(95%, 1820px);
      margin-right: auto;
   }
   .point02 .inBox .txt {
      color: #FFFFFF;
      margin-bottom: 1.4rem;
   }
   .point02 .inBox {
      display: grid;
      grid-template-columns: 52.74% 1fr;
      gap: calc(160 / 1920 * 100vw);
   }
   .point02 .inBox .left {
    display: grid;
    gap: 4.5rem;
   }
   .point02 .inBox .content {
      width: 34.375rem;
      margin-left: auto;
      padding: 1.75rem 0 0;
   }
   .point02 .inBox .content02 {padding: 0.95rem 0 0;}
   .point02 .content02 .txt {
      margin-bottom: 2rem;
   }

   /* point03 */
   .point03 {
      background: #F0EFEB;
   }
   .point03 .inner {
      width: min(95%, 1600px);
      margin-inline: auto;
      position: relative;
      display: flex;
      justify-content: space-between;
      padding: 12.5rem 0 7.5rem;
   }
   .point03 .ttl-box {
    margin-bottom: 3.25rem;
}
   .point03 .ttl-box .en-ttl{
      text-align: left;
   }
   .point03 .ttl-box h2{
      text-align: left;
      color: #1C1C1C;
   }
   .point03 .ttl-box .en-txt{
      text-align: left;
   }
   .point03 .content {
      margin-left: 12.5rem;
   }
   .point03 .content .txt {
    font-size: 20px;
    font-weight: 400;
    line-height: 2.1;
    letter-spacing: 0.05em;
} 
   .point03 .photo {
    margin: 1.75rem 0 0;
}
.point03 .photo02 {
   position: absolute;
   top: 7.45rem;
   right: 37.5rem;
   width: 20rem;
}
.point03 .photo02 img {
   width: 100%;
   height: auto;
}


/* link-box
-------------------------------------*/
.link-box {
   padding: 6.25rem 0 2.8rem;
}
.link-box .item {
   width: min(95%, 1340px);
   margin-inline: auto;
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 1.25rem;
   margin-bottom: 3.55rem;
}
.link-box .item img {
   width: 100%;
   height: auto;
}
.link-box .txt{
   font-size: 16px;
   font-weight: 400;
   line-height: 2;
   letter-spacing: 0.05em;
   text-align: center;
   margin-bottom: 2rem;
}

/* 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 5rem;
}
.bottom-section .link-frame h3 {
   font-weight: normal;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 2;
   text-align: center;
   margin-bottom: 3rem;
}
.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:1600px)
======================================== */
@media screen and (min-width:768px) and (max-width:1600px) {
   .point01 .inBox01 .content {
      margin-right: 17.5vw;
      padding: 3.5vw 0 0;
  }
  .point02 .inBox .content {
   width: 34.375vw;
   margin-left: auto;
   padding: 1.75vw 0 0;
}

   .point01 .inBox02 .photo-box{
      margin: -1.25vw 0 0;
   }
   .point03 .content {
      margin-left: calc(200 / 1920 * 100vw);
   }
   .point03 .photo02 {
      width: calc(320 / 1920 * 100vw);
      right: calc(600 / 1920 * 100vw);
   }
   .point03 .photo{
      width: calc(540 / 1920 * 100vw);
   }
}
/* ========================================
@media screen and (min-width:768px) and (max-width:1000px)
======================================== */
@media screen and (min-width:768px) and (max-width:1000px) {
   .point .txt-box {
      padding: 0 1vw;
   }
}



/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
   #design .gnav li a {
      color: #FFFFFF;
   }
   #design .gnav li a::after {
      background-color: #FFFFFF;
    }
   #design .seo_bread_list {
      color: #FFFFFF;
   }
   #design .seo_bread_list a {
      color: #FFFFFF;
   }
   #design .main-ttl-wrap {
      background: url(../images/design/fv_sp.jpg)no-repeat top center;
      background-size: cover;
      padding: 38vw 0 15.2vw;
      margin-bottom: 5vw;
   }
   #design .main-ttl-wrap .en {
      color: #FFFFFF;
   }
   #design .main-ttl-wrap h1 {
      color: #FFFFFF;
      position: relative;
      margin-bottom: 21vw;
   }
   #design .main-ttl-wrap h1::after {
      content: "";
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -14vw;
      width: 0.2vw;
      height: 12.6vw;
      background-color: #B2B0B0;
   }
   #design .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;
   }
   #design .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;
   }

   /* point
   -------------------------------------*/
   .point .ttl-box .en-ttl {
      font-size:3.14vw;
      line-height: 1.2307692308;
      letter-spacing: 0em;
      font-weight: 400;
      color: #8E7016;
      text-align: center;
      margin-bottom: 8.45vw;
   }
   .point .ttl-box h2 {
      font-size:5.797vw;
      line-height: 1.75;
      letter-spacing: 0.05em;
      font-weight: 700;
      text-align: center;
      margin-bottom: 3.55vw;
   }
   .point .ttl-box .en-txt {
      font-size:2.898vw;
      line-height: 1.75;
      letter-spacing: 0em;
      font-weight: 400;
      text-align: center;
      color: #9A9A9A;
      margin-bottom: 14vw;
   }
   .point .inBox .txt {
      font-size:3.382vw;
      line-height: 2.285714;
      letter-spacing: 0.05em;
      font-weight: 400;
      margin-bottom: 5.5vw;
   }
   .point .photo img {
      width: 100%;
      height: auto;
   }
   /* point01 */
   .point01 {
      padding: 22vw 0 0;
   }
   .point01 .inBox {
      width: 94.205vw;
      margin-inline: auto;
   }
   .point01 .inBox01 {
      display: grid;
      padding: 6vw 0 0;
   }
   .point01 .inBox01 .photo {
      order: 2;
      margin-bottom: 6vw;
   }
   .point01  .content {
      display: contents;
   }
   .point01 .inBox01 .content .txt:nth-child(1) {
      order: 1;
   }
   .point01 .inBox01 .content .txt:nth-child(2) {
      order: 3;
      margin: 0 2.5vw 7.8vw;
   }
   .point01 .inBox01 .content .txt:nth-child(3) {
      order: 4;
      margin: 0 2.5vw 7.8vw;
   }
   .point01 .inBox01 .content .txt:nth-child(4) {
      order: 5;
      margin: 0 2.5vw;
   }
   .point01 .inBox02 {
      display: grid;
      padding: 5.8vw 0 0;
   }
   .point01 .inBox02 .photo03 {
      order: 1;
      margin-bottom: 5.8vw;
   }
   .point01 .inBox02 .photo04 {
      order: 4;
      margin: 0 -2.7vw 6vw 2.5vw;
      width: 94.205vw;
   }
   .point01 .inBox02 .content .txt:nth-child(1) {
      order: 2;
      margin: 0 2.2vw 1.95vw;
   }
   .point01 .inBox02 .content .txt:nth-child(2) {
      order: 3;
      margin: 0 2.2vw 5.5vw;
   }
   .point01 .inBox02 .content .txt:nth-child(3) {
      order: 5;
      margin: 0 2.2vw 18.5vw;
   }

   /* point02 */
   .point02 {
      background: #333333;
   }
   .point02 .ttl-box .en-ttl {
      color: #D6B44E;
   }
   .point02 .ttl-box h2 {
      color: #FFFFFF;
   }
   .point02 .txt-box {
      padding: 27vw 0 0;
   }
   .point02 .inBox {
      display: grid;
   }
   .point02 .inBox .txt {
      color: #FFFFFF;
      width: 89.375vw;
      margin-inline: auto;
      margin-bottom: 2vw;
   }
   .point02 .inBox .left {
      display: contents;
   }
   .point02 .inBox .content {
      order: 2;
      margin-bottom: 4vw;
   }
   .point02 .inBox .content02 {
      order: 4;
      margin-bottom: 0;
      padding: 0 0 12vw;
   }
   .point02 .inBox .content02 .txt {
     margin-bottom: 8vw;
   }
   .point02 .inBox .content02 .txt:nth-child(2) {
      margin-bottom: 6vw;
   }
   .point02 .inBox .photo {
      order: 1;
      margin-bottom: 6vw;
   }
   .point02 .inBox .right {
      order: 3;
   }
   .point02 .inBox .photo04 {
      width: 94.205vw;
      margin-inline: auto;
      margin-bottom: 0;
   }

   /* point03 */
   .point03 {
      background: #F0EFEB;
   }
   .point03 .ttl-box .en-txt {margin-bottom: 11.2vw;}
   .point03 .inner {
      margin-inline: auto;
      position: relative;
      padding: 26.5vw 0 15.8vw;
      display: grid;
   }
   .point03 .ttl-box {
      order: 1;
   }
   .point03 .content {
      display: contents;
   }
   .point03 .photo {
      width: 61.112vw;
      order: 3;
      margin-left: auto;
      margin-top: -10vw;
      margin-bottom: 8.4vw;
   }
   .point03 .photo02 {
      width: 36.235vw;
      order: 2;
   }
   .point03 .content .txt {
      font-size:3.382vw;
      font-weight: 400;
      line-height: 2.285714;
      letter-spacing: 0.05em;
      order: 4;
      width: 89.375vw;
      margin-inline: auto;
   } 

   /* link-box
-------------------------------------*/
.link-box {
   padding: 11.5vw 0 1vw;
}
.link-box .item {
   width: 89.375vw;
   margin-inline: auto;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 5vw 2.4vw;
   margin-bottom: 8.4vw;
}
.link-box .item img {
   width: 100%;
   height: auto;
}
.link-box .txt{
   font-size:3.382vw;
   font-weight: 400;
   line-height: 2.285714;
   letter-spacing: 0.05em;
   text-align: left;
   margin-bottom: 8vw;
   width: 89.375vw;
   margin-inline: auto;
}

/* 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: 9.5vw;
   left: 49%;
   transform: translateX(-50%);
   width: 100%;
}
.bottom-section .link-frame {
   padding: 19vw 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: 15vw;
}
.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;
}

}
