@charset "UTF-8";
@media screen and (max-width: 769px) {
  body {
    font-size: 4vw;
    line-height: 1.5;
  }
  .sp_none {
    display: none;
  }
  .auto {
    width: 90%;
  }
  .container {
    height: 100vh;
  }
  .container::after {
    width: 94%;
  }

  /* アニメーション */
  .illust_jewelry {
    animation: swaying 6s ease-in-out infinite;
  }
  @keyframes swaying {
    0% {
      transform: translateY(0) rotate(0deg);
    }
    50% {
      transform: translateY(-4vw) rotate(.2deg);
    }
    100% {
      transform: translateY(0) rotate(0deg);
    }
  }

  /* header */
  header {
    width: 100%;
    padding: 4vw 5%;
    position: absolute;
    top: 0;
    left: 0;

    .logo_corp {
      width: 13%;
    }
  }

  /* contents */
  .contents {
    width: 100%;
    overflow-x: hidden;
  }

  /* conts_mv */
  .conts_mv {
    display: flex;
    height: 100lvh;
    padding: 9vw 5%;
    justify-content: center;
    align-items: center;
    position: relative;

    .bg_item {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 5%;
      left: 0;
      pointer-events: none;
    }
    .illust_jewelry {
      position: absolute;
    }
    .jewelry_01 {
      width: 31%;
      bottom: 66%;
      right: 65%;
    }
    .jewelry_02 {
      width: 64%;
      top: 37%;
      left: 21%;
      animation-delay: -1s;
    }
    .jewelry_03 {
      width: 34%;
      left: 70%;
      bottom: 74%;
      animation-delay: -1.5s;
    }
    .jewelry_04 {
      width: 45%;
      right: 72%;
      top: 63%;
      animation-delay: -2s;
    }
    .jewelry_05 {
      width: 49%;
      top: 71%;
      left: 65%;
      animation-delay: -.5s;
    }
    .bg_rectangle {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 2.5%;
      left: 0;
      pointer-events: none;
    }
    .rectangle {
      position: absolute;
      width: 24vw;
      height: 18vw;
      background: linear-gradient(150deg, rgba(196, 164, 90, .2) 0%, rgba(239, 226, 201, .2) 100%);
    }
    .rectangle:first-of-type {
      bottom: 73%;
      right: 88%;
    }
    .rectangle:nth-of-type(2) {
      bottom: 87%;
      left: 61%;
    }
    .rectangle:nth-of-type(3) {
      top: 84%;
      right: 80%;
    }
    .rectangle:nth-of-type(4) {
      top: 70%;
      left: 55%;
    }
    .logo_main {
      width: 54%;
      margin: 0 auto;
      position: relative;
    }
  }

  /* conts_message */
  .conts_message {
    font-size: 4vw;
    line-height: 1.7;
    padding: 0 0 20vw;
    position: relative;

    .bg_item {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 2.5%;
      left: 0;
      pointer-events: none;
      z-index: -1;
    }
    .illust_jewelry {
      position: absolute;
    }
    .jewelry_01 {
      width: 58%;
      top: -20vw;
      right: -42%;
    }
    .jewelry_02 {
      width: 37%;
      top: 90vw;
      right: 88%;
      animation-delay: -1s;
    }
    .jewelry_03 {
      width: 20%;
      left: 86%;
      top: 70%;
      animation-delay: -1.5s;
    }
    .jewelry_04 {
      width: 31%;
      right: 69%;
      bottom: -11vw;
      animation-delay: -.5s;
    }
    .bg_sp {
      padding: 14vw 3% 12vw;
      background-color: var(--color-beige-transparent);
      margin-bottom: 12vw;
    }
    .title_message {
      text-align: center;
      font-size: 5vw;
      line-height: 1.3;
      letter-spacing: -.02em;
      font-weight: 600;
      margin-bottom: 11vw;
    }
    .block_main_text {
      margin-bottom: 28px;
    }
    .text:not(:last-of-type) {
      margin-bottom: 6vw;
    }
    .wait_bold {
      font-weight: 600;
    }
    .block_name {
      text-align: right;
    }
    .area_photo {
      display: flex;
      width: 122%;
      padding-top: var(--size-58);
      margin-left: -11%;
    }
    .img {
      width: 50%;
      position: relative;
    }
    .img:first-of-type {
      top: var(--size-n58)
    }
  }

  /* conts_history */
  .conts_history {
    display: flex;
    min-height: 100lvh;
    padding: 10vw 0 10vw;
    background-color: var(--color-navy);
    line-height: 1.6;
    color: var(--color-gold);
    flex-direction: column;
    justify-content: center;

    .title_history {
      width: 96%;
      margin-bottom: 5vw;
    }
    .wrapper_list {
      width: 100%;
      padding-top: 5vw;
      position: relative;
    }
    .custom-scrollbar {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: var(--size-9);
      background: var(--color-charcoal);
      z-index: 10;
    }
    .scrollbar-drag {
      position: absolute;
      top: 0;
      left: 0;
      width: var(--size-113);
      height: 100%;
      background: var(--color-gold);
    }
    .container_list {
      align-items: center;
      display: flex;
      width: 100%;
      margin-inline: auto;
      overflow: hidden;
    }
    .list_history {
      display: flex;
      padding-inline: 5%;
    }
    .list_history>li {
      width: 90vw;
      padding-inline: 4vw 8vw;
      border-left: 1px solid var(--color-gold);
    }
    .title_year {
      width: fit-content;
      height: 6vw;
      margin-bottom: 3vw;
    }
    .title_year img {
      width: auto;
      height: 100%;
    }
    .img {
      margin-bottom: 2vw;
    }
    .list_text {
      font-size: 3.6vw;
      padding-left: 1em;
      line-height: 1.4;
    }
    .list_text li {
      list-style: disc;
      margin-bottom: 2.4vw;
    }
    .list_text li:last-of-type {
      margin-bottom: 0;
    }
  }

  /* conts_sale */
  .conts_sale {
    padding: 22vw 0 22vw;
    position: relative;

    .bg_item {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 2.5%;
      left: 0;
      pointer-events: none;
      z-index: -1;
    }
    .illust_jewelry {
      position: absolute;
    }
    .jewelry_01 {
      width: 31%;
      top: 2%;
      right: 77%;
    }
    .jewelry_02 {
      width: 64%;
      top: -7%;
      left: 58%;
      animation-delay: -1s;
    }
    .jewelry_03 {
      width: 34%;
      left: 70%;
      bottom: -6%;
      animation-delay: -1.5s;
    }
    .jewelry_04 {
      width: 45%;
      right: 72%;
      bottom: -10%;
      animation-delay: -.5s;
    }
    .jewelry_05, .jewelry_06, .jewelry_07, .jewelry_08 {
      display: none;
    }
    .bg_rectangle {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 2%;
      left: 0;
      pointer-events: none;
    }
    .rectangle {
      position: absolute;
      width: 22vw;
      height: 17vw;
      background: linear-gradient(150deg, rgba(196, 164, 90, .2) 0%, rgba(239, 226, 201, .2) 100%);
    }
    .rectangle:first-of-type {
      top: 1vw;
      left: 81%;
    }
    .rectangle:nth-of-type(2) {
      top: 16vw;
      right: 76%;
    }
    .rectangle:nth-of-type(3) {
      bottom: -5%;
      left: 64%;
    }
    .rectangle:nth-of-type(4) {
      bottom: -8%;
      right: 84%;
    }
    .auto {
      width: 100%;
    }
    .title_sale {
      width: 90%;
      margin: 0 auto 5vw;
      position: relative;
    }
    /* .title_sale::before, .title_sale::after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: url(../img/sale_title_04.png)no-repeat center/contain;
      position: absolute;
      top: var(--size-n30);
      left: -31%;
      z-index: -1;
    }
    .title_sale::after {
      top: var(--size-50);
      left: 67%;
    } */
    .wrapper_bg {
      padding: 10vw 3% 6vw;
      background: var(--color-beige-transparent);
      position: relative;
    }
    .area_event {
      font-size: 3vw;
      line-height: 1.4;
      margin-bottom: 18vw;
    }
    .title_event {
      width: 66%;
      position: absolute;
      top: -1vw;
      left: -5%;
    }
    .list_event {
      margin-bottom: 5vw;
    }
    .list_event li:not(:last-of-type) {
      margin-bottom: 3vw;
    }
    .list_caution {
      letter-spacing: -.04em;
      padding-bottom: 4vw;
    }
    .list_caution li {
      text-indent: -1em;
      padding-left: 1em;
      margin-bottom: 1.6vw;
    }
    .list_caution li:last-of-type {
      margin-bottom: 0;
    }
    .area_items {
      margin-bottom: 14vw;
    }
    .block_title {
      text-align: center;
      font-size: 5vw;
      line-height: 1.3;
      color: var(--color-white);
      padding: 5vw 2%;
      background: var(--gradation-gold);
      margin-bottom: 3vw;
      position: relative;
    }
    .block_title::before {
      content: "";
      display: block;
      width: 100%;
      height: calc(100% - 1vw);
      border-top: 1px solid var(--color-white);
      border-bottom: 1px solid var(--color-white);
      position: absolute;
      top: .5vw;
      left: 0;
      position: absolute;
      pointer-events: none;
    }
    .text_ribbon {
      width: 66%;
      position: absolute;
      top: -8vw;
      left: -9%;
    }
    .title_items {
      font-weight: 600;
    }
    .text_caution {
      text-align: right;
      font-size: 2vw;
      font-weight: 500;
      position: absolute;
      bottom: 1.6vw;
      right: 2%;
    }
    .list_items {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
    }
    .list_items li {
      width: 49%;
      padding-bottom: 2.4vw;
      background-color: var(--color-white);
      box-shadow: 0px 0 1.4vw 0px rgba(0, 0, 0, 0.2);
      margin-bottom: 2vw;
    }
    .list_items li a {
      display: flex;
      height: 100%;
      padding-bottom: 2.4vw;
      flex-direction: column;
    }
    .box_img {
      margin-bottom: 2vw;
    }
    .box_text {
      display: flex;
      height: 100%;
      padding: 0 3%;
      letter-spacing: -.04em;
      flex-direction: column;
    }
    .name_item {
      font-size: 4vw;
      line-height: 1.3;
      font-weight: 600;
      margin-bottom: 1vw;
    }
    .detail_item {
      font-size: 3vw;
      margin-bottom: 3vw;
    }
    .text_price {
      text-align: right;
      font-size: 5.6vw;
      line-height: 1;
      font-weight: 600;
      color: var(--color-red);
      margin: auto 0 1vw;
    }
    .text_price .small {
      font-size: 3vw;
    }
    .text_price .middle {
      font-size: 3.6vw;
    }
    .text_gray {
      text-align: right;
      font-size: 4vw;
      line-height: 1;
      color: var(--color-gray);
      font-weight: 500;
    }
    .text_gray .small {
      font-size: 2.6vw;
    }
    .text_gray .middle {
      font-size: 3vw;
    }
    .service {
      width: 100%;
      padding: 14vw 5% 5vw;
      background-color: var(--color-white-transparent);
      margin: 0 auto 5vw;
      position: relative;
    }
    .title_service {
      width: 26%;
      position: absolute;
      top: -12vw;
      left: 50%;
      transform: translateX(-50%);
    }
    .list_service {
      font-size: 4.4vw;
      line-height: 1.4;
      font-weight: 600;
      letter-spacing: -.02em;
    }
    .list_service li {
      width: 100%;
      padding-left: 9%;
      position: relative;
      margin-bottom: 3vw;
    }
    .list_service li::before {
      content: "";
      display: block;
      width: 5.4vw;
      height: 5.4vw;
      background: url(../img/icon_check_01.png)no-repeat center/contain;
      position: absolute;
      top: .2vw;
      left: 0;
    }
    .list_link {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      text-align: center;
      font-size: 3.4vw;
      line-height: 1.5;
      letter-spacing: -.02em;
    }
    .list_link li {
      width: 49%;
      margin-bottom: 2vw;
    }
    .list_link li:first-of-type {
      font-size: 3.2vw;
    }
    .list_link li a {
      display: flex;
      min-height: 13vw;
      text-align: center;
      line-height: 1.5;
      font-weight: 600;
      color: var(--color-white);
      padding: 2vw 1% 2vw;
      border-radius: 2vw;
      background: #225495;
      align-items: center;
      justify-content: center;
    }
    .list_link li a::after {
      content: "";
      display: inline-block;
      width: 4vw;
      height: 4vw;
      background: url(../img/icon_arrow_01.png)no-repeat center/contain;
      margin-left: 2%;
    }
    .list_buton {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      text-align: center;
      font-size: 3.4vw;
      line-height: 1.5;
      letter-spacing: -.02em;
    }
    .list_buton li {
      width: 80%;
      margin: auto;
      margin-bottom: 2vw;
    }
    .list_buton li:first-of-type {
      font-size: 3.8vw;
    }
    .list_buton li a {
      display: flex;
      min-height: 13vw;
      text-align: center;
      line-height: 1.5;
      font-weight: 600;
      color: var(--color-white);
      padding: 2vw 1% 2vw;
      border-radius: 2vw;
      background: #c41c1c;
      align-items: center;
      justify-content: center;
    }
    .list_buton li a::after {
      content: "";
      display: inline-block;
      width: 4vw;
      height: 4vw;
      background: url(../img/icon_arrow_01.png)no-repeat center/contain;
      margin-left: 2%;
    }
  }

  /* conts_event */
  .conts_event {
    font-size: 3.7vw;
    line-height: 1.7;
    color: var(--color-white);
    padding: 22vw 0 22vw;
    background-color: var(--color-navy);
    position: relative;
    overflow: hidden;
    z-index: 1;

    .bg_rectangle {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 10%;
      left: 0;
      pointer-events: none;
    }
    .rectangle {
      position: absolute;
      width: 22vw;
      height: 17vw;
      background: linear-gradient(150deg, rgba(12, 32, 59, .2) 0%, rgba(96, 126, 125, .2) 100%);
    }
    .rectangle:first-of-type {
      top: 1vw;
      left: 81%;
    }
    .rectangle:nth-of-type(2) {
      top: 16vw;
      right: 76%;
    }
    .rectangle:nth-of-type(3) {
      top: calc(50% - 46vw);
      left: 82%;
    }
    .rectangle:nth-of-type(4) {
      top: calc(50% + 60vw);
      right: 84%;
    }
    .auto {
      position: relative;
    }
    .title_ribbon {
      width: 66%;
      margin: 0 auto 4vw;
    }
    .title_event {
      width: 100%;
      margin: 0 0 4vw;
      position: relative;
      z-index: 1;
    }
    /* .title_event::before, .title_event::after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: url(../img/event_title_02.png)no-repeat center/contain;
      position: absolute;
      top: var(--size-n30);
      left: -31%;
      z-index: -1;
    }
    .title_event::after {
      top: var(--size-50);
      left: 67%;
    } */
    .block_value {
      margin-bottom: 6vw;
    }
    .box:not(:last-of-type) {
      margin-bottom: 5vw;
    }
    .img {
      width: 105%;
      margin: 0 0 3vw -3.5%;
    }
    .banner {
      width: 100%;
      margin: 0 auto;
    }
  }

  /* conts_company */
  .conts_company {
    position: relative;

    .bg_item {
      display: none;
    }
    .bg_rectangle {
      display: none;
    }
    .auto {
      width: 100%;
    }
    .wrapper_bg {
      padding: 22vw 5% 22vw;
      background-color: var(--color-beige-transparent);
    }
    .title_company {
      width: 86%;
      margin: 0 auto 6vw;
    }
    .block_profile {
      margin-bottom: 6vw;
    }
    .title_profile {
      font-size: 4.8vw;
      line-height: 1.3;
      font-weight: 500;
      margin-bottom: 3vw;
    }
    .profile {
      text-align: left;
      font-size: 3.8vw;
      line-height: 1.5;
      font-weight: 400;
      border-top: 1px solid var(--color-beige-dark);
    }
    .profile th, .profile td {
      padding: 3vw 0;
      border-bottom: 1px solid var(--color-beige-dark);
      vertical-align: top;
    }
    .profile th {
      width: 24%;
      font-weight: 400;
    }
    .title_address {
      font-size: 5vw;
      line-height: 1.3;
      font-weight: 500;
      margin-bottom: 3.6vw;
    }
    .box {
      width: 100%;
      padding: 5vw 3% 6vw;
      background-color: var(--color-brown-transparent);
      margin-bottom: 3vw;
    }
    .box:last-of-type {
      margin-bottom: 0;
    }
    .title_store {
      display: inline-block;
      font-size: 4vw;
      padding: 1vw 2vw;
      background-color: var(--color-gold);
      color: #fff;
      line-height: 1.3;
      font-weight: 600;
      margin-bottom: 3vw;
    }
    .address {
      font-size: 4vw;
      line-height: 1.4;
      letter-spacing: -.02em;
      margin-bottom: 3vw;
    }
    .store_information {
      text-align: left;
      font-size: 3.8vw;
      line-height: 1.7;
      border-top: 1px solid var(--color-beige-dark);
      margin-bottom: 5vw;
    }
    .store_information th, .store_information td {
      padding: 2.4vw 0;
      border-bottom: 1px solid var(--color-beige-dark);
    }
    .store_information th {
      width: 24%;
      font-weight: 400;
    }
    .img {
      margin-bottom: 3vw;
    }
    .directions {
      font-size: 3.6vw;
      line-height: 1.5;
      margin-bottom: 3.4vw;
    }
    .directions li:not(:last-of-type) {
      margin-bottom: 1vw;
    }
    .btn {
      width: 80%;
      margin: 0 auto;
    }
    .btn a {
      display: flex;
      text-align: center;
      font-size: 4vw;
      line-height: 1.5;
      font-weight: 600;
      color: var(--color-white);
      padding: 2.6vw 5%;
      border-radius: 2vw;
      background: var(--gradation-navy);
      align-items: center;
      justify-content: center;
    }
    .btn a::after {
      content: "";
      display: inline-block;
      width: 4vw;
      height: 4vw;
      background: url(../img/icon_arrow_01.png)no-repeat center/contain;
      margin-left: 2vw;
    }
  }

  /* footer */
  footer {
    padding: 16vw 0;
    background-color: var(--color-navy);
    color: var(--color-white);
    position: relative;
  }
  .logo_footer {
    width: 90%;
    margin: 0 auto 10vw;
  }
  .wrapper_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 4vw;
  }
  .block_list {
    width: 49%;
    margin-bottom: 6vw;
  }
  .name_list {
    width: fit-content;
    height: 3.4vw;
    margin-bottom: 4vw;
  }
  .name_list img {
    width: auto;
    height: 100%;
  }
  .navi_list li {
    display: flex;
    font-size: 2.8vw;
    line-height: 1.6;
    font-weight: 400;
    margin-bottom: 3vw;
    flex-wrap: wrap;
    align-items: baseline;
  }
  .navi_list li::before {
    content: "";
    display: inline-block;
    width: var(--size-10);
    height: var(--size-6);
    border-top: 2px solid var(--color-white);
    margin-right: var(--size-16);
  }
  .navi_list a {
    display: inline-block;
    width: auto;
  }
  .logo_main {
    width: 20%;
    margin: 0 auto;
  }
}