/*! Writen  by SCSS */
.bg01 {
  background-image: url("../images/top/bg01.jpg");
  background-position: bottom;
  background-size: cover; }

.bg02 {
  background-image: url("../images/top/bg02.jpg");
  background-position: top center;
  background-size: 100% auto; }

.sec01 {
  position: relative;
  color: #fff;
  background: #000000; }
  .sec01 .head {
    position: relative;
    font-size: clamp(16px, 2.167vw, 26px);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    line-height: 1.4;
    padding-top: 0;
    gap: 0.25em;
    padding-bottom: 1.5em; }
    @media screen and (max-width: 768px) {
      .sec01 .head {
        font-size: 2.3vw; } }
    @media screen and (max-width: 480px) {
      .sec01 .head {
        font-size: 4vw;
        padding: 20px 0 30px; } }
    .sec01 .head .text_lg {
      font-size: 1.6em; }
    .sec01 .head .text_top {
      display: flex;
      align-items: baseline;
      justify-content: center;
      letter-spacing: 0.05em; }
    .sec01 .head .text_bottom {
      font-size: 140%;
      display: block;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 480px) {
        .sec01 .head .text_bottom {
          font-size: 123%;
          line-height: 1.4; } }
  .sec01 .item_wrap {
    display: flex;
    justify-content: center;
    padding-bottom: clamp(60px, 8.334vw, 100px);
    gap: 0 40px; }
    @media screen and (max-width: 768px) {
      .sec01 .item_wrap {
        flex-wrap: wrap;
        gap: 15px 0; } }
    @media screen and (max-width: 480px) {
      .sec01 .item_wrap {
        flex-direction: column; } }
    .sec01 .item_wrap .item {
      width: fit-content;
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      font-size: clamp(14px, 1.667vw, 20px);
      text-align: center;
      letter-spacing: 0.05em;
      line-height: 1;
      gap: 0.25em; }
      @media screen and (max-width: 768px) {
        .sec01 .item_wrap .item {
          width: 33%;
          font-size: 2.6vw;
          line-height: 1.2; } }
      @media screen and (max-width: 480px) {
        .sec01 .item_wrap .item {
          font-size: 4.4vw;
          width: 100%;
          flex-direction: row;
          align-items: baseline;
          padding-right: 0;
          padding-bottom: 15px; } }
      .sec01 .item_wrap .item::after {
        content: '';
        position: absolute;
        right: -20px;
        bottom: 0;
        width: 1px;
        height: 100%;
        background: linear-gradient(45deg, #262d3e 10%, #FFF 50%, #262d3e 90%); }
        @media screen and (max-width: 768px) {
          .sec01 .item_wrap .item::after {
            right: 0; } }
        @media screen and (max-width: 480px) {
          .sec01 .item_wrap .item::after {
            height: 1px;
            width: 100%; } }
      .sec01 .item_wrap .item:nth-last-child(1)::after {
        display: none; }
      .sec01 .item_wrap .item .text_in {
        display: flex;
        align-items: baseline;
        justify-content: center;
        position: relative; }
        @media screen and (min-width: 769px) {
          .sec01 .item_wrap .item .text_in.text_row_in {
            padding-right: 1em; }
          .sec01 .item_wrap .item .text_in.text_row_in_bottm {
            padding-right: 1em; } }
      .sec01 .item_wrap .item .text_row {
        position: absolute;
        top: -0.5em;
        bottom: -0.5em;
        right: 0;
        white-space: pre;
        font-size: 0.5em;
        line-height: 1;
        align-self: center;
        writing-mode: vertical-rl; }
        @media screen and (max-width: 768px) {
          .sec01 .item_wrap .item .text_row {
            right: -1em; } }
        @media screen and (max-width: 480px) {
          .sec01 .item_wrap .item .text_row {
            position: static;
            margin-top: -1.5em; } }
      .sec01 .item_wrap .item .big {
        font-size: 160%;
        color: #eac174;
        line-height: 1; }
      .sec01 .item_wrap .item .big2 {
        font-size: 150%;
        color: #eac174;
        line-height: 1; }
      .sec01 .item_wrap .item .text_min {
        font-size: 0.8em; }

.sec02 {
  position: relative;
  padding: clamp(60px, 9.584vw, 115px) 0;
  background: #423e34;
  box-shadow: 0px 0px 0px rgba(255, 255, 255, 0.018), 0px 0px 1px rgba(255, 255, 255, 0.018), 0px 0px 2px rgba(255, 255, 255, 0.018), 0px 0px 3px rgba(255, 255, 255, 0.018), 0px 0px 4px rgba(255, 255, 255, 0.018), 0px 0px 5px rgba(255, 255, 255, 0.018), 0px 0px 6px rgba(255, 255, 255, 0.018), 0px 0px 7px rgba(255, 255, 255, 0.018), 0px 0px 8px rgba(255, 255, 255, 0.018), 0px 0px 9px rgba(255, 255, 255, 0.018), 0px 0px 10px rgba(255, 255, 255, 0.018), 0px 0px 11px rgba(255, 255, 255, 0.018), 0px 0px 12px rgba(255, 255, 255, 0.018), 0px 0px 13px rgba(255, 255, 255, 0.018), 0px 0px 14px rgba(255, 255, 255, 0.018), 0px 0px 15px rgba(255, 255, 255, 0.018), 0px 0px 16px rgba(255, 255, 255, 0.018), 0px 0px 17px rgba(255, 255, 255, 0.018), 0px 0px 18px rgba(255, 255, 255, 0.018), 0px 0px 19px rgba(255, 255, 255, 0.018), 0px 0px 20px rgba(255, 255, 255, 0.018), 0px 0px 21px rgba(255, 255, 255, 0.018), 0px 0px 22px rgba(255, 255, 255, 0.018), 0px 0px 23px rgba(255, 255, 255, 0.018), 0px 0px 24px rgba(255, 255, 255, 0.018), 0px 0px 25px rgba(255, 255, 255, 0.018), 0px 0px 26px rgba(255, 255, 255, 0.018), 0px 0px 27px rgba(255, 255, 255, 0.018);
  color: #fff; }
  .sec02::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #162044;
    mix-blend-mode: overlay;
    pointer-events: none;
    margin-inline: auto;
    transform: translate3d(0, 0, 0); }
  .sec02 .ttl {
    text-align: center;
    font-size: clamp(20px, 3.334vw, 40px);
    color: #fff;
    line-height: 1;
    margin-bottom: 1.2em;
    letter-spacing: 0.2em; }
    @media screen and (max-width: 480px) {
      .sec02 .ttl {
        margin-bottom: 2em; } }
  .sec02 a {
    display: block;
    position: relative;
    background: linear-gradient(90deg, #c4b36b 0%, #ad9a4f 100%);
    max-width: 480px;
    padding: 25px;
    font-size: clamp(16px, 1.667vw, 20px);
    text-align: center;
    margin-inline: auto;
    line-height: 1;
    letter-spacing: 0.2em; }
    @media screen and (max-width: 480px) {
      .sec02 a {
        padding: 15px 0;
        font-size: 14px; } }
    .sec02 a::after {
      content: '>';
      position: absolute;
      right: 5px;
      top: 50%;
      transform: translate(-50%, -50%); }

.sec03 {
  padding: 100px 0 110px; }
  @media screen and (max-width: 480px) {
    .sec03 {
      padding: 60px 0 80px; } }
  .sec03 .en_ttl {
    position: relative;
    padding-bottom: 25px;
    text-align: center;
    margin-bottom: clamp(20px, 2.917vw, 35px); }
    .sec03 .en_ttl::after {
      content: '';
      width: 26px;
      height: 1px;
      background: #fff;
      position: absolute;
      inset: 0;
      top: auto;
      margin-inline: auto; }
  .sec03 .text {
    color: #fff;
    text-align: center;
    letter-spacing: 0.2em;
    font-size: clamp(12px, 1.334vw, 16px); }

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