@charset "UTF-8";

body {
   background: #fff;
   color: #1a1a1a;
   font-family: "Zen Kaku Gothic New", sans-serif;
   font-weight: 400;
   font-size: 15px;
   line-height: 26px;
   letter-spacing: 0;
   font-optical-sizing: auto;
   font-style: normal;
   min-width: inherit;
   min-height: inherit;
   max-height: 100%;
   text-align: justify;
}

@media screen and (max-width: 767px) {
   body {
      font-size: 14px;
      line-height: 24px;
   }
}

main {
   overflow: hidden;
}

footer {
   padding-top: 150px;
}

footer .wrap {
   display: flex;
   justify-content: space-between;
   gap: 30px;
   padding-bottom: 150px;
}

footer .txt-1 {
   /*width: 445px;*/
   width: 440px;
}

footer .txt-2 {
   /*width: 400px;*/
   width: 466px;
}

footer a:hover {
   opacity: 0.7;
}

footer address {
   display: flex;
   justify-content: center;
   align-items: center;
   background: url("../img/footer-bg.webp") no-repeat center top/cover;
   width: 100%;
   height: 73px;
}

.btn-fixed {
   position: fixed;
   top: 50%;
   right: 0;
   transform: translateY(-50%);
   z-index: 100;
}

.btn-fixed a {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 50px;
   height: 226px;
   background-color: #DA4207;
   color: #fff;
   border-radius: 10px 0 0 10px;
   font-weight: 500;
   font-size: 22px;
   letter-spacing: 0.06em;
   line-height: 22px;
}

.btn-fixed a span {
   display: block;
   width: 22px;
}

.btn-fixed a:hover {
   background-color: #1a1a1a;
}

.pagetotop {
   width: 50px;
   height: 50px;
   background-color: #DA4207;
   position: fixed;
   bottom: 0;
   right: 0;
   z-index: 100;
   cursor: pointer;
   transition: all 0.3s;
   opacity: 0;
   visibility: hidden;
}

.pagetotop:after {
   content: '';
   width: 12px;
   height: 12px;
   border-top: 2px solid #fff;
   border-right: 2px solid #fff;
   position: absolute;
   top: 55%;
   left: 50%;
   transform: translate(-50%, -50%) rotate(-45deg);
}

.pagetotop:hover {
   background-color: #1a1a1a;
}

.pagetotop.fixed {
   opacity: 1;
   visibility: visible;
}

@media screen and (max-width: 767px) {
   footer {
      padding: 50px 0;

   }

   footer .wrap {
      flex-direction: column;
      align-items: center;
      padding-bottom: 50px;
   }

   footer .txt-1,
   footer .txt-2 {
      width: 100%;
      max-width: 440px;
   }

   footer .txt-1 img {
      display: inline-block;
      width: 94%;
      margin: 0 auto;
   }

   footer address {
      height: 50px;
      text-align: center;
      font-size: 12px;
      line-height: 15px;
   }

   .btn-fixed {
      top: auto;
      right: 52px;
      bottom: 0;
      left: 0;
      transform: translateY(0);
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s;
   }

   .btn-fixed a {
      width: 100%;
      height: 45px;
      border-radius: 0;
      font-size: 18px;
      padding-top: 5px;
   }

   .btn-fixed a span {
      width: auto;
   }

   .btn-fixed.fixed {
      opacity: 1;
      visibility: visible;
   }
}

.h-35 {
   font-family: 'A1 Gothic', sans-serif;
   font-weight: 500;
   font-size: 35px;
   line-height: 50px;
   letter-spacing: 0.06em;
}

@media screen and (max-width: 767px) {
   .h-35 {
      font-size: 6vw;
      line-height: 1.5;
   }
}

#mv {
   display: flex;
   align-items: center;
   background: url("../img/mv-bg-img.webp") no-repeat center/cover;
   width: 100%;
   height: 80vh;
   padding-bottom: 15vh;
   position: relative;
   box-sizing: border-box;
}

#mv:after {
   content: '';
   width: 100%;
   height: 100%;
   background: url("../img/mv-deco.webp") no-repeat center bottom/100% auto;
   position: absolute;
   top: 1px;
   left: 0;
}

#mv h1 {
    /*width: 70%;
    max-width: 623px;*/
   width: 80%;
   max-width: 800px;
}

@media screen and (max-width: 767px) {
   #mv h1 {
      width: 100%;
   }
}

#intro {
   padding: 60px 0;
}

#intro .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   padding-top: 20px;
}

#intro .box .no {
   max-width: 212px;
   margin: 0 auto;
   position: relative;
   left: 10px;
}

#intro .box .no a:hover {
   opacity: 0.7;
}

#intro .box figure {
   height: 180px;
   text-align: center;
}

#intro .box figure img {
   max-height: 100%;
}

#intro .box h3 {
   font-size: 23px;
   line-height: 33px;
   letter-spacing: 0;
   padding-top: 30px;
}

#intro .box h3 span {
   font-size: 15px;
}

#intro .box h3 sup {
   font-size: 12px;
}

#intro .note,
#intro .caption {
   font-size: 14px;
   line-height: 20px;
   text-align: left;
   text-indent: -14px;
   padding: 50px 0 0 14px;
}

#intro .caption {
   padding: 25px 0 0 14px;
}

#intro .arrow {
   width: 30px;
   margin: 0 auto;
   padding-top: 60px;
}

@media screen and (max-width: 1023px) {
   #intro .box h3 {
      font-size: 20px;
   }

   #intro .box h3 span {
      font-size: 12px;
   }

   #intro .box h3 sup {
      font-size: 10px;
   }
}

@media screen and (max-width: 767px) {
   #intro h2 {
      font-size: 5.6vw;
   }

   #intro .box {
      grid-template-columns: 1fr;
      padding-top: 0;
   }

   #intro .box .col {
      display: flex;
      justify-content: space-between;
      align-items: center;
   }

   #intro .box .no {
      max-width: 24vw;
      order: 1;
      left: 0;
      margin: 0;
   }

   #intro .box .no a {
      display: flex;
      justify-content: center;
      align-items: center;
   }

   #intro .box .no img {
      max-width: 150%;
   }

   #intro .box figure {
      text-align: center;
      height: 18vw;
      order: 3;
   }

   #intro .box h3 {
      font-size: 4vw;
      line-height: 1.5;
      padding-top: 0;
      order: 2;
   }

   #intro .box h3 span {
      font-size: 2.1vw;
   }   

   #intro .box h3 sup {
      font-size: 2.1vw;
   }

   #intro .note,
   #intro .caption {
      font-size: 13px;
      text-indent: -13px;
      padding: 20px 0 0 13px;
   } 

   #intro .caption {
      padding: 13px 0 0 13px;
   } 


   #intro .arrow {
      padding-top: 50px;
   }
}

#region {
   background-color: rgba(216, 193, 129, 0.7);
   position: relative;
}

#region:before {
   content: '';
   width: 100%;
   height: 100%;
   background: url("../img/region-bg-top.webp") no-repeat center top/100% auto, url("../img/region-bg-bottom.webp") no-repeat center bottom/100% auto;
   position: absolute;
   top: 0;
   left: 0;
   mix-blend-mode: multiply;
}

#region h2 {
   position: absolute;
   top: 40px;
   right: 20px;
   left: 20px;
}

#region .row-1 {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 40px;
   text-align: center;
   max-width: 1312px;
   height: calc(100vh - 85px);
   margin: 0 auto;
   position: relative;
}

#region .row-1 figure {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 30%;
   max-width: 351px;
   height: 100%;
}

#region .row-1 figure img {
   max-height: 100%;
}

#region .row-1 h3 {
   font-weight: 500;
   font-size: 40px;
   line-height: 50px;
   letter-spacing: 0.06em;
}

#region .row-2 {
   padding-bottom: 160px;
   position: relative;
}

#region .row-2 .title {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   overflow: hidden;
}

#region .row-2 .title .in {
   display: flex;
   align-items: center;
   gap: 15px;
   width: 96%;
   max-width: 450px;
   min-height: 85px;
   position: relative;
}

#region .row-2 .title h3 {
   font-size: 20px;
   line-height: 30px;
   letter-spacing: 0.06em;
   color: #fff;
}

#region .row-2 .title .col-l {
   position: relative;
}

#region .row-2 .title .col-l:before {
   content: '';
   width: 120%;
   height: 100%;
   background-color: #DA4207;
   position: absolute;
   top: 0;
   right: 0;
   transform: skewX(-30deg);
}

#region .row-2 .title .col-l .in {
   margin-left: auto;
}

#region .row-2 .title .col-l figure {
   width: 62px;
}

#region .row-2 .title .col-r {
   text-align: right;
   position: relative;
}

#region .row-2 .title .col-r:before {
   content: '';
   width: 120%;
   height: 100%;
   background-color: #D8AE4D;
   position: absolute;
   top: 0;
   left: 0;
   transform: skewX(-30deg);
}

#region .row-2 .title .col-r .in {
   justify-content: flex-end;
}

#region .row-2 .title .col-r figure {
   width: 74px;
}

#region .row-2 .photos {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 35px;
   padding-top: 60px;
}

#region .row-2 .note {
   font-size: 14px;
   line-height: 18px;
   padding-top: 20px;
}

#region .row-3 {
   padding-bottom: 85px;
   position: relative;
}

#region .row-3 h3 {
   font-size: 40px;
   line-height: 50px;
   letter-spacing: 0.06em;
   text-align: center;
}

#region .row-3 figure {
   max-width: 1128px;
   margin: 0 auto;
}

#region .row-3 figure span {
   display: block;
   max-width: 861px;
   margin-left: auto;
}
@media screen and (min-width: 1100px) and (max-height: 620px) {
   #region .row-1 figure {
   }
}

@media screen and (max-width: 1023px) {
   #region .row-1 h3 {
      font-size: 30px;
   }

   #region .row-2 .title h3 {
      font-size: 17px;
   }
}

@media screen and (max-width: 767px) {
   #region:before {
      height: auto;
      top: 0;
      bottom: 0;
   }

   #region h2 {
      top: 3vw;
   }

   #region .row-1 {
      gap: 2vw;
      height: 80vw;
   }

   #region .row-1 h3 {
      font-size: 5vw;
      line-height: 1.5;
   }

   #region .row-1 figure {
      width: 24%;
   }

   #region .row-2 {
      padding-bottom: 80px;
   }

   #region .row-2 .title .col-l:before {
      transform: skewX(-20deg);
   }

   #region .row-2 .title .col-r:before {
      transform: skewX(-20deg);
   }

   #region .row-2 .title .in {
      gap: 2vw;
      min-height: 20vw;
   }

   #region .row-2 .title h3 {
      font-size: 3.6vw;
      line-height: 1.2;
   }

   #region .row-2 .title .col-l figure {
      width: 8vw;
   }

   #region .row-2 .title .col-r figure {
      width: 10vw;
   }

   #region .row-2 .photos {
      gap: 10px;
      padding-top: 20px;
   }

   #region .row-2 .note {
      font-size: 13px;
      padding-top: 15px;
   }

   #region .row-3 {
      padding-bottom: 40px;
   }

   #region .row-3 h3 {
      font-size: 5vw;
      line-height: 1.5;
   }

   #region .row-3 figure span {
      width: 98%;
      margin: 0 auto;
   }
}

#fund-overview {
   padding: 100px 0 140px;
}

#fund-overview h2 {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 40px;
}

#fund-overview h2:before,
#fund-overview h2:after {
   content: "◆";
   color: #D8C181;
}

#fund-overview .box {
   padding-top: 45px;
}

#fund-overview .box+.box {
   padding-top: 70px;
}

#fund-overview .box h3 {
   color: #A4812A;
   font-size: 30px;
   line-height: 53px;
}

#fund-overview .box .txt {
   padding-top: 15px;
}

#fund-overview .box figure {
   padding-top: 75px;
}

#fund-overview .box figure:first-child {
   padding-top: 0;
}

#fund-overview .box .note {
   font-size: 14px;
   line-height: 20px;
   padding-top: 40px;
}

#fund-overview .box .note p {
   text-indent: -14px;
   padding-left: 14px;
}

@media screen and (max-width: 767px) {
   #fund-overview {
      padding: 50px 0;
   }

   #fund-overview h2 {
      gap: 2vw;
   }

   #fund-overview .box {
      padding-top: 20px;
   }

   #fund-overview .box+.box {
      padding-top: 40px;
   }

   #fund-overview .box h3 {
      font-size: 6vw;
      line-height: 1.5;
   }

   #fund-overview .box .txt {
      text-align: left;
   }

   #fund-overview .box figure {
      padding-top: 30px;
   }

   #fund-overview .box .note {
      font-size: 13px;
      padding-top: 20px;
   }

   #fund-overview .box .note p {
      text-indent: -13px;
      padding-left: 13px;
   }
}

#holdings {
   background-color: #F3ECD8;
   padding: 70px 0 90px;
   position: relative;
   overflow: hidden;
}

#holdings .deco-1 {
   width: 596px;
   position: absolute;
   top: 0;
   left: calc(50% + 135px);
}

#holdings .deco-2 {
   width: 619px;
   position: absolute;
   bottom: 0;
   right: calc(50% + 90px);
}

#holdings h2 {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 40px;
   text-align: center;
}

#holdings h2:before,
#holdings h2:after {
   content: "◆";
   color: #D8C181;
}

#holdings figure {
   padding-top: 60px;
}

#holdings .note {
   font-size: 14px;
   line-height: 20px;
   padding-top: 40px;
}

#holdings .note p {
   text-indent: -14px;
   padding-left: 14px;
}

@media screen and (max-width: 767px) {
   #holdings {
      padding: 50px 0;
   }

   #holdings .deco-1 {
      width: 200px;
      right: -50px;
      left: auto;
   }

   #holdings .deco-2 {
      width: 200px;
      right: auto;
      left: -50px;
   }

   #holdings h2 {
      gap: 2vw;
   }

   #holdings figure {
      padding-top: 30px;
   }

   #holdings .note {
      padding-top: 20px;
      font-size: 13px;
   }

   #holdings .note p {
      text-indent: -13px;
      padding-left: 13px;
   }
}

#donation .row-1 {
   padding: 120px 0 60px;
}

#donation .row-1 .wrap {
   max-width: 980px;
}

#donation .row-1 h2 {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 40px;
}

#donation .row-1 h2:before,
#donation .row-1 h2:after {
   content: "◆";
   color: #D8C181;
}

#donation .row-1 .box {
   display: grid;
   grid-template-columns: 450px 1fr;
   gap: 40px;
   padding-top: 80px;
}

#donation .row-1 .box h3 {
   font-size: 35px;
   line-height: 42px;
   letter-spacing: 0.06em;
   white-space: nowrap;
   padding-bottom: 60px;
}

#donation .row-1 .box h3 span {
   display: block;
   font-size: 21px;
}

#donation .row-1 .box h4 {
   background-color: #A4812A;
   color: #fff;
   font-size: 20px;
   line-height: 21px;
   letter-spacing: 0.06em;
   padding: 5px 12px 0;
}

#donation .row-1 .box .txt {
   font-size: 18px;
   line-height: 30px;
   letter-spacing: 0.06em;
   padding-top: 20px;
}

#donation .row-1 .box .note {
   font-size: 14px;
   line-height: 20px;
   padding-top: 20px;
}

#donation .row-1 .box .txt-1 {
   background-color: #F3ECD8;
   font-size: 16px;
   line-height: 24px;
   margin-top: 40px;
   padding: 20px 12px;
}

#donation .row-1 .box .photo figure:not(:last-child) {
   padding-bottom: 12px;
}

#donation .row-1 .arrow {
   width: 33px;
   margin: 0 auto;
   padding-top: 120px;
}

#donation .row-2 {
   background: url("../img/donation-bg.webp") no-repeat center/cover;
   padding: 70px 0;
}

#donation .row-2 .txt {
   font-size: 22px;
   line-height: 40px;
   letter-spacing: 0.06em;
   padding-bottom: 70px;
}

#donation .row-2 h3 {
   font-size: 36px;
   line-height: 50px;
   letter-spacing: 0.06em;
}

@media screen and (max-width: 1023px) {
   #donation .row-1 .wrap {
      max-width: 720px;
   }

   #donation .row-2 h3 {
      font-size: 35px;
   }
}

@media screen and (max-width: 767px) {
   #donation .row-1 {
      padding: 50px 0;
   }

   #donation .row-1 h2 {
      gap: 2vw;
   }

   #donation .row-1 .box {
      grid-template-columns: 1fr;
      padding-top: 30px;
   }

   #donation .row-1 .box h3 {
      font-size: 6vw;
      line-height: 1.5;
      text-align: center;
      padding-bottom: 20px;
   }

   #donation .row-1 .box h3 span {
      font-size: 4vw;
   }

   #donation .row-1 .box h4 {
      font-size: 14px;
   }

   #donation .row-1 .box .txt {
      font-size: 14px;
      padding-top: 15px;
   }

   #donation .row-1 .box .note {
      font-size: 13px;
      text-indent: -13px;
      padding: 15px 0 0 13px;
   }

   #donation .row-1 .box .txt-1 {
      font-size: 14px;
      margin-top: 20px;
   }

   #donation .row-1 .arrow {
      padding-top: 50px;
   }

   #donation .row-2 {
      padding: 50px 0;
   }

   #donation .row-2 .txt {
      font-size: 4vw;
      line-height: 1.5;
      padding-bottom: 30px;
   }

   #donation .row-2 h3 {
      font-size: 6vw;
      line-height: 1.5;
   }
}

#fund-info {
   padding-bottom: 150px;
}

#fund-info .row-1 {
   padding: 120px 0 75px;
}

#fund-info .row-1 .button {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 25px;
   font-size: 18px;
   letter-spacing: 0.06em;
   line-height: 26px;
   padding-top: 60px;
}

#fund-info .row-1 .button a {
   display: flex;
   justify-content: center;
   align-items: center;
   height: 40px;
   background-color: #DA4207;
   color: #fff;
   padding-top: 2px;
}

#fund-info .row-1 .button a:hover {
   background-color: #1a1a1a;
}

#fund-info .row-2 {
   background-color: #F3ECD8;
   padding: 40px 0;
}

#fund-info .row-2 h3 {
   font-size: 20px;
   line-height: 30px;
   letter-spacing: 0.06em;
}

#fund-info .row-2 .txt {
   padding-top: 10px;
}

#fund-info .row-2 .logo {
   padding-top: 35px;
   display: flex;
   gap:30px;
   align-items: center;
   justify-content: center;
}

#fund-info .row-2 .logo a {
   display: inline-block;
   width: 200px;
   height: auto;
   padding: 8px 16px;
   background-color: #fff;
   border-radius: 50px;
}

#fund-info .row-2 .logo img {
   max-width: 120px;
}

#fund-info .row-2 .logo a:hover {
   opacity: 0.7;
}

@media screen and (max-width: 767px) {
   #fund-info {
      padding-bottom: 50px;
   }

   #fund-info .row-1 {
      padding: 50px 0;
   }

   #fund-info .row-1 .button {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
      padding-top: 20px;
      font-size: 4vw;
      line-height: 1.5;
   }

   #fund-info .row-2 {
      padding: 50px 0;
   }

   #fund-info .row-2 h3 {
      font-size: 5vw;
      line-height: 1.5;
   }

   #fund-info .row-2 .txt {
      text-align: left;
   }
   #fund-info .row-2 .logo {
      padding-top: 15px;
      display: block;
   }

   #fund-info .row-2 .logo a {
      margin-top: 10px;
   }

   #fund-info .row-2 .logo img {
      max-width: 90px;
   }

}

#notice h2 {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 40px;
}

#notice h2:before,
#notice h2:after {
   content: "◆";
   color: #D8C181;
}

#notice ul {
   padding-top: 50px;
}

#notice ul li {
   position: relative;
   padding-left: 20px;
}

#notice ul li:before {
   content: '●';
   color: #999;
   position: absolute;
   top: 0;
   left: 0;
}

@media screen and (max-width: 767px) {
   #notice h2 {
      gap: 2vw;
   }

   #notice ul {
      padding-top: 20px;
   }
}