.wrapper01 {
  font-family: "RyuminPro", "GaramondPro", serif;
  font-weight: 400;
}

.mv {
  position: relative;
}

.section01 {
  margin-inline: auto;
  background-color: #000;
}
@media screen and (min-width: 640px) {
  .section01 {
    padding-block: 86px 120px;
  }
}
@media screen and (max-width: 639px) {
  .section01 {
    padding-block: 38px 9vw;
  }
}
.section01 .images {
  text-align: center;
}
@media screen and (min-width: 640px) {
  .section01 .images {
    margin-top: 60px;
  }
}
@media screen and (max-width: 639px) {
  .section01 .images {
    margin-top: 8vw;
  }
}
.section01 .images .img01 {
  width: 100%;
  max-width: 934px;
  margin-inline: auto;
}

@media screen and (min-width: 640px) {
  .section02:first-child {
    padding-block: 56px 130px;
  }
}
@media screen and (max-width: 639px) {
  .section02:first-child {
    padding-block: 6vw 10vw;
  }
}
@media screen and (min-width: 640px) {
  .section02:not(:first-child) {
    padding-bottom: 130px;
  }
}
@media screen and (max-width: 639px) {
  .section02:not(:first-child) {
    padding-bottom: 10vw;
  }
}

.continer01 {
  background-image: url(../images/private/bg01.webp);
  background-position: top center;
  background-repeat: repeat-y;
  background-size: 100% auto;
}

.hgroup01 {
  text-align: center;
}
.hgroup01 .hgroupTitle01 {
  margin-inline: auto;
}
@media screen and (min-width: 640px) {
  .hgroup01 .hgroupTitle01 {
    width: 123px;
  }
}
@media screen and (max-width: 639px) {
  .hgroup01 .hgroupTitle01 {
    width: 123px;
  }
}
.hgroup01 .hgroupsubTitle01 {
  line-height: 1.5897435897;
  margin-top: 1em;
  letter-spacing: 0.125em;
}
@media screen and (min-width: 640px) {
  .hgroup01 .hgroupsubTitle01 {
    font-size: 39px;
  }
}
@media screen and (max-width: 639px) {
  .hgroup01 .hgroupsubTitle01 {
    font-size: 7vw;
  }
}
.hgroup01 .hgroupsubTitle02 {
  margin-top: 1em;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 640px) {
  .hgroup01 .hgroupsubTitle02 {
    font-size: 21px;
  }
}
@media screen and (max-width: 639px) {
  .hgroup01 .hgroupsubTitle02 {
    font-size: 4vw;
  }
}

.sectionContents01 {
  text-align: center;
  padding-inline: 2.5%;
}
@media screen and (min-width: 640px) {
  .sectionContents01 {
    max-width: 1310px;
    margin-inline: auto;
    padding-top: 32px;
    box-sizing: content-box;
  }
}
@media screen and (max-width: 639px) {
  .sectionContents01 {
    padding-top: 4vw;
  }
}
@media screen and (min-width: 640px) {
  .sectionContents01 + .sectionContents01 {
    padding-top: 72px;
  }
}
@media screen and (max-width: 639px) {
  .sectionContents01 + .sectionContents01 {
    padding-top: 6vw;
  }
}

.sectionTitle01 {
  font-weight: 400;
  color: #bf9958;
  text-align: center;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #fff;
  padding-inline: 2.5%;
}
@media screen and (min-width: 640px) {
  .sectionTitle01 {
    font-size: 37px;
    padding-bottom: 32px;
  }
}
@media screen and (max-width: 639px) {
  .sectionTitle01 {
    font-size: 6vw;
    padding-bottom: 0.65em;
  }
}
.sectionTitle01 span {
  display: block;
  font-size: 0.6756756757em;
}

.sectionTitle02 {
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5769230769;
}
@media screen and (min-width: 640px) {
  .sectionTitle02 {
    font-size: 26px;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 639px) {
  .sectionTitle02 {
    font-size: 5vw;
    padding-bottom: 0.65em;
  }
}
.sectionTitle02 span {
  display: block;
  font-size: 0.6153846154em;
}

.sectionText01 {
  line-height: 1.6;
}
@media screen and (min-width: 640px) {
  .sectionText01 {
    font-size: 20px;
    margin-top: 24px;
  }
}
@media screen and (max-width: 639px) {
  .sectionText01 {
    font-size: 4vw;
    padding-bottom: 0.65em;
  }
}

@media screen and (min-width: 640px) {
  .sectionNote01 {
    margin-top: 8px;
  }
}
@media screen and (max-width: 639px) {
  .sectionNote01 {
    margin-top: 8px;
  }
}
.sectionNote01 li {
  line-height: 1.3571428571;
}
@media screen and (min-width: 640px) {
  .sectionNote01 li {
    font-size: 14px;
  }
}
@media screen and (max-width: 639px) {
  .sectionNote01 li {
    font-size: 12px;
    padding-bottom: 0.65em;
  }
}

.sectionImageBlock01,
.sectionImageBlock02 {
  text-align: center;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 640px) {
  .sectionImageBlock01,
  .sectionImageBlock02 {
    margin-top: 60px;
  }
}
@media screen and (max-width: 639px) {
  .sectionImageBlock01,
  .sectionImageBlock02 {
    margin-top: 6vw;
  }
}
.sectionImageBlock01 .sectionCaption01,
.sectionImageBlock02 .sectionCaption01 {
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  width: 100%;
  color: #231815;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (min-width: 640px) {
  .sectionImageBlock01 .sectionCaption01,
  .sectionImageBlock02 .sectionCaption01 {
    padding: 1em;
  }
}
@media screen and (max-width: 639px) {
  .sectionImageBlock01 .sectionCaption01,
  .sectionImageBlock02 .sectionCaption01 {
    padding: 0.6em;
  }
}
.sectionImageBlock01 .sectionCaption01 .label,
.sectionImageBlock02 .sectionCaption01 .label {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #231815;
}
@media screen and (min-width: 640px) {
  .sectionImageBlock01 .sectionCaption01 .label,
  .sectionImageBlock02 .sectionCaption01 .label {
    width: 50px;
    flex: 0 0 50px;
    font-size: 19px;
  }
}
@media screen and (max-width: 639px) {
  .sectionImageBlock01 .sectionCaption01 .label,
  .sectionImageBlock02 .sectionCaption01 .label {
    flex: 0 0 48px;
    font-size: 16px;
  }
}
.sectionImageBlock01 .sectionCaption01 .text,
.sectionImageBlock02 .sectionCaption01 .text {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.2142857143;
}
@media screen and (min-width: 640px) {
  .sectionImageBlock01 .sectionCaption01 .text,
  .sectionImageBlock02 .sectionCaption01 .text {
    font-size: 14px;
  }
}
@media screen and (max-width: 639px) {
  .sectionImageBlock01 .sectionCaption01 .text,
  .sectionImageBlock02 .sectionCaption01 .text {
    font-size: 2.4vw;
  }
}

@media screen and (min-width: 640px) {
  .sectionImageBlock01 {
    max-width: 1310px;
  }
}

@media screen and (min-width: 640px) {
  .sectionImageBlock02 {
    max-width: 612px;
  }
}

.sectionBlock01 {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
}
@media screen and (min-width: 951px) {
  .sectionBlock01 {
    gap: 60px 72px;
  }
}
@media screen and (max-width: 950px) {
  .sectionBlock01 {
    flex-direction: column;
    gap: 30px;
  }
}
@media screen and (max-width: 639px) {
  .sectionBlock01 {
    padding-inline: 2.5%;
    gap: 8vw;
  }
}
.sectionBlock01 .block01 {
  flex: 0 1 calc(50% - 36px);
}
.sectionBlock01 .block01 .inner01 {
  display: flex;
  text-align: left;
}
@media screen and (min-width: 951px) {
  .sectionBlock01 .block01 .inner01 {
    column-gap: 27px;
  }
}
@media screen and (max-width: 950px) {
  .sectionBlock01 .block01 .inner01 {
    column-gap: 27px;
  }
}
@media screen and (max-width: 639px) {
  .sectionBlock01 .block01 .inner01 {
    flex-direction: column;
    row-gap: 2vw;
  }
}
@media screen and (max-width: 950px) {
  .sectionBlock01 .block01:first-child {
    margin-top: 30px;
  }
}
@media screen and (min-width: 951px) {
  .sectionBlock01 .block01 .item01 {
    flex: 1;
  }
}
@media screen and (max-width: 950px) {
  .sectionBlock01 .block01 .item01 {
    flex: 1;
  }
}
.sectionBlock01 .block01 .item02 {
  text-align: center;
}
@media screen and (min-width: 951px) {
  .sectionBlock01 .block01 .item02 {
    flex: 0 1 35.5987055016%;
  }
}
@media screen and (max-width: 950px) {
  .sectionBlock01 .block01 .item02 {
    flex: 1;
  }
}
.sectionBlock01 .block01 .item03 {
  text-align: center;
}
@media screen and (min-width: 951px) {
  .sectionBlock01 .block01 .item03 {
    flex: 0 1 52.1035598706%;
  }
}
@media screen and (max-width: 950px) {
  .sectionBlock01 .block01 .item03 {
    flex: 1;
  }
}
.sectionBlock01 .block01 .title01 {
  font-weight: 400;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 951px) {
  .sectionBlock01 .block01 .title01 {
    font-size: 31px;
    letter-spacing: -1px;
    margin-bottom: 16px;
    padding-bottom: 16px;
  }
}
@media screen and (max-width: 950px) {
  .sectionBlock01 .block01 .title01 {
    font-size: 26px;
    letter-spacing: -1px;
    margin-bottom: 16px;
    padding-bottom: 16px;
  }
}
@media screen and (max-width: 639px) {
  .sectionBlock01 .block01 .title01 {
    font-size: 6vw;
    margin-bottom: 8px;
    padding-bottom: 8px;
  }
}
.sectionBlock01 .block01 .title01 span {
  display: block;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 951px) {
  .sectionBlock01 .block01 .title01 span {
    font-size: 22px;
  }
}
@media screen and (max-width: 950px) {
  .sectionBlock01 .block01 .title01 span {
    font-size: 20px;
  }
}
@media screen and (max-width: 639px) {
  .sectionBlock01 .block01 .title01 span {
    font-size: 4vw;
  }
}
.sectionBlock01 .block01 .title01 sup {
  font-size: 0.5em;
}
.sectionBlock01 .block01 .text01,
.sectionBlock01 .block01 .text02 {
  text-align: justify;
}
@media screen and (min-width: 951px) {
  .sectionBlock01 .block01 .text01,
  .sectionBlock01 .block01 .text02 {
    font-size: 21px;
  }
}
@media screen and (max-width: 950px) {
  .sectionBlock01 .block01 .text01,
  .sectionBlock01 .block01 .text02 {
    font-size: 18px;
  }
}
@media screen and (max-width: 639px) {
  .sectionBlock01 .block01 .text01,
  .sectionBlock01 .block01 .text02 {
    font-size: 4vw;
  }
}
@media screen and (min-width: 951px) {
  .sectionBlock01 .block01 .text01 {
    margin-top: 16px;
  }
}
@media screen and (max-width: 950px) {
  .sectionBlock01 .block01 .text01 {
    margin-top: 16px;
  }
}
@media screen and (max-width: 639px) {
  .sectionBlock01 .block01 .text01 {
    margin-top: 8px;
  }
}
.sectionBlock01 .block01 .text02 + .note01 {
  margin-top: 8px;
}
@media screen and (min-width: 640px) {
  .sectionBlock01 .block01 .note01 {
    font-size: 14px;
    margin-top: 16px;
  }
}
@media screen and (max-width: 639px) {
  .sectionBlock01 .block01 .note01 {
    font-size: 3vw;
    margin-top: 8px;
  }
}

figure div.bg_gradation {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgb(0, 0, 0));
  line-height: 1.2;
  letter-spacing: 0;
  position: absolute;
  bottom: 0;
  padding: 0.5em 1em;
  width: 100%;
  font-weight: lighter;
}

figure div.bg_gradation_wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-feature-settings: "palt";
  color: #fff;
}
@media screen and (max-width: 768px) {
  figure div.bg_gradation_wrap {
    text-align: left;
    padding: 0.1em 0.1em 0.1em 0.1em;
  }
}

figure div.bg_gradation_wrap div {
  font-size: 1.8em;
  letter-spacing: 0.1em;
  border: 1px solid #fff;
  padding: 0.2em 0.1em;
  margin-right: 0.4em;
  width: 2.8em;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap !important;
}
@media screen and (max-width: 768px) {
  figure div.bg_gradation_wrap div {
    font-size: 18px;
  }
}

@media screen and (min-width: 769px) {
  figure div.bg_gradation_wrap span {
    font-size: 24px;
    text-indent: -1em;
    padding-left: 1em;
  }
}
@media screen and (max-width: 768px) {
  figure div.bg_gradation_wrap span {
    font-size: 12px;
  }
}

.sectionCaption01 {
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  width: 100%;
  color: #231815;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (min-width: 640px) {
  .sectionCaption01 {
    padding: 1em;
  }
}
@media screen and (max-width: 639px) {
  .sectionCaption01 {
    padding: 0.6em;
  }
}
.sectionCaption01 .label {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #231815;
}
@media screen and (min-width: 640px) {
  .sectionCaption01 .label {
    width: 50px;
    flex: 0 0 50px;
    font-size: 19px;
  }
}
@media screen and (max-width: 639px) {
  .sectionCaption01 .label {
    flex: 0 0 48px;
    font-size: 16px;
  }
}
.sectionCaption01 .text {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.2142857143;
}
@media screen and (min-width: 640px) {
  .sectionCaption01 .text {
    font-size: 14px;
  }
}
@media screen and (max-width: 639px) {
  .sectionCaption01 .text {
    font-size: 2.4vw;
  }
}

@media screen and (min-width: 769px) {
  .sectionCaption02 {
    font-size: 16px;
    text-align: center;
    padding-left: 190px;
    padding-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .sectionCaption02 {
    font-size: 14px;
    padding: 1em;
  }
}

/*# sourceMappingURL=private.css.map */
