.premium_2025 {
  font-family: "Zen Old Mincho";
  font-weight: 400;
  margin: 0;
}

main {
  overflow: hidden;
}

.wrapper {
  max-width: 1095px;
  margin: 0 auto;
}

.mainvisual {
  background: url(../../showroom/img/2025/mainvisual_bg.svg) #25343E no-repeat;
  background-size: cover;
  min-height: 396px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .mainvisual {
    background: url(../../showroom/img/2025/mainvisual_bg_sp.webp) #25343E no-repeat;
    background-size: cover;
    min-height: 617px;
    align-items: flex-start;
  }
  .mainvisual_logo {
    padding-top: 21%;
    padding-bottom: 55%;
    width: 69.3%;
  }
}
.mainvisual::before {
  content: "";
  position: absolute;
  right: 0;
  top: 10%;
  width: 21.21%;
  height: 256px;
  max-width: 297px;
  background: url(../../showroom/img/2025/mainvisual_deco01.svg) right top no-repeat;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .mainvisual::before {
    background: url(../../showroom/img/2025/mainvisual_btm_sp.webp) no-repeat bottom left;
    background-size: 100%;
    width: 100%;
    top: initial;
    bottom: 0;
    max-width: initial;
    height: 100%;
  }
}

.intro {
  background: url(../../showroom/img/2025/intro_bg.webp) bottom left #25343E no-repeat;
  background-size: 100%;
  color: #fff;
  font-size: 18px;
  position: relative;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .intro {
    font-size: 15px;
    text-align: center;
    background-image: none;
  }
}
.intro::before {
  content: "";
  position: absolute;
  max-width: 441px;
  width: 31.5%;
  height: 334px;
  background: url(../../showroom/img/2025/mainvisual_deco.svg) no-repeat;
  background-size: 100%;
  left: 0;
  top: -200px;
}
@media screen and (max-width: 768px) {
  .intro::before {
    display: none;
  }
}
.intro_box {
  display: flex;
  align-items: center;
  min-height: 570px;
  line-height: 2.45;
  margin-top: -22px;
}
@media screen and (max-width: 768px) {
  .intro_box {
    min-height: auto;
    padding-top: 70px;
    line-height: 2.35;
  }
}
.intro_box p {
  letter-spacing: 1.5px;
}
@media screen and (max-width: 768px) {
  .intro_box p {
    letter-spacing: 0.3px;
  }
  .intro_box p span {
    white-space: nowrap;
    letter-spacing: -0.1px;
    margin-left: -10px;
  }
}
.intro_link {
  position: absolute;
  right: 5%;
  top: 30px;
}
@media screen and (max-width: 768px) {
  .intro_link {
    top: -10px;
  }
}

.city {
  background: #25343E;
  color: #fff;
  padding: 90px 20px 76px;
}
@media screen and (max-width: 768px) {
  .city {
    padding: 62px 20px 87px 30px;
  }
}
.city_osaka {
  margin-bottom: 58px;
  max-width: 478px;
}
@media screen and (max-width: 768px) {
  .city_osaka .city_title {
    margin-right: -30px;
  }
}
.city_tokyo {
  max-width: 478px;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .city_tokyo .city_title {
    margin-left: -40px;
  }
  .city_tokyo .city_date {
    margin-left: 30px;
  }
  .city_tokyo .city_time {
    margin-left: 30px;
  }
}
.city_box {
  position: relative;
  max-width: 777px;
  margin: 0 auto;
}
.city_date {
  color: #FCD5A0;
  font-size: 25px;
  padding-left: 87px;
}
@media screen and (max-width: 768px) {
  .city_date {
    padding-left: 0;
    margin-top: 5px;
    font-size: 20px;
  }
}
.city_time {
  font-size: 23px;
  padding-left: 74px;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .city_time {
    padding-left: 0;
    font-size: 18px;
    line-height: 1.8;
  }
}
.city_time span {
  width: 88px;
  font-size: 16px;
  display: inline-block;
  margin-right: 20px;
  text-align: right;
  font-family: "Zen Kaku Gothic New";
}
@media screen and (max-width: 768px) {
  .city_time span {
    font-size: 14px;
    margin-right: 9px;
    width: 70px;
  }
}

.collection {
  background: url(../../showroom/img/2025/itembox_deco02.svg) no-repeat bottom right;
  padding: 0 0 180px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .collection {
    background-image: url(../../showroom/img/2025/itembox_deco02_sp.svg);
    background-size: 50%;
  }
}
.collection_title {
  display: flex;
  justify-content: center;
  padding: 200px 20px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .collection_title {
    padding: 130px 20px;
  }
}
@media screen and (max-width: 768px) {
  .collection_title {
    padding: 164px 0 59px;
  }
}
.collection_title img {
  margin-bottom: 5px;
}
.collection_title::before, .collection_title::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
}
.collection_title::before {
  width: 25.79%;
  height: 193px;
  max-width: 354px;
  top: 0;
  left: 2.29%;
  background-image: url(../../showroom/img/2025/collection_title-deco01.svg);
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .collection_title::before {
    background-image: url(../../showroom/img/2025/collection_title-deco01_sp.svg);
    width: 50%;
    top: 0;
    left: 0;
    height: 50%;
  }
}
.collection_title::after {
  width: 27.64%;
  height: 310px;
  max-width: 387px;
  bottom: 0;
  right: 0;
  background-image: url(../../showroom/img/2025/collection_title-deco02.svg);
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .collection_title::after {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .collection_title h2 {
    max-width: 248px;
  }
}
.collection_title h2 span {
  display: block;
  font-size: 22px;
  text-align: center;
  font-weight: 400;
  letter-spacing: 1.5px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .collection_title h2 span {
    margin-top: 0;
    font-size: 20px;
  }
}
.collection .wrapper {
  padding: 0 20px;
}
@media screen and (max-width: 1024px) {
  .collection .wrapper {
    padding: 0;
  }
}

.itembox {
  display: flex;
  justify-content: space-between;
  margin-bottom: 110px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .itembox {
    display: block;
    margin-bottom: 73px;
  }
  .itembox .itembox_detail {
    padding-left: 20px;
  }
}
.itembox:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .itembox:nth-child(even) {
    padding-right: 0;
    padding-left: 20px;
  }
  .itembox:nth-child(even) .itembox_detail {
    padding-right: 20px;
    padding-left: 0;
  }
}
.itembox:last-child {
  margin-bottom: 0;
}
.itembox_img {
  width: 43.84%;
}
@media screen and (max-width: 1024px) {
  .itembox_img {
    width: 38.84%;
  }
}
@media screen and (max-width: 768px) {
  .itembox_img {
    width: 100%;
  }
}
.itembox_detail {
  width: 51.32%;
}
@media screen and (max-width: 1024px) {
  .itembox_detail {
    width: 57.32%;
  }
}
@media screen and (max-width: 768px) {
  .itembox_detail {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .itembox_img {
    margin-bottom: 20px;
  }
}
.itembox h3 {
  font-size: 24px;
  padding-left: 30px;
  position: relative;
  line-height: 1.2;
  padding-top: 5px;
  letter-spacing: 0.4px;
}
@media screen and (max-width: 1024px) {
  .itembox h3 {
    font-size: 23px;
  }
}
@media screen and (max-width: 768px) {
  .itembox h3 {
    font-size: 19px;
    padding-left: 20px;
  }
}
.itembox h3::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 0;
  width: 21px;
  height: 21px;
  background: url(../../showroom/img/2025/item_titledeco.svg) no-repeat;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .itembox h3::before {
    width: 15px;
    height: 15px;
    top: 10px;
  }
}
.itembox h3 span {
  display: block;
  font-size: 20px;
  font-weight: 400;
  margin-top: 5px;
  letter-spacing: 1px;
}
@media screen and (max-width: 768px) {
  .itembox h3 span {
    font-size: 16px;
  }
}
.itembox_leather {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
.itembox_leather p {
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  width: 54.27%;
  border-top: solid 1px #DADCDD;
  border-bottom: solid 1px #DADCDD;
  padding-top: 18px;
  line-height: 1.6;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 768px) {
  .itembox_leather p {
    font-size: 13px;
    padding-top: 10px;
    width: 63.27%;
  }
}
.itembox_text {
  margin-top: 33px;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 768px) {
  .itembox_text {
    margin-top: 20px;
  }
}
.itembox_text p {
  letter-spacing: 0.6px;
}
.itembox_link {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .itembox_link {
    display: flex;
    justify-content: flex-end;
	margin-right: 70px;
	flex-wrap: wrap;
  }
}
/*.itembox_link a {
  font-family: "Roboto", sans-serif;
  text-decoration: none;
  font-size: 13px;
  position: relative;
  padding-right: 68px;
  letter-spacing: 0.7px;
}
@media (hover: hover) {
  .itembox_link a:hover:before {
    right: -5px;
  }
}
.itembox_link a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 52px;
  height: 100%;
  background: url(../../showroom/img/2025/more_arrow.svg) no-repeat center right;
  background-size: 100%;
  transition: 0.3s;
}*/
.itembox_link a {
  font-family: "Roboto", sans-serif;
  text-decoration: none;
  font-size: 13px;
  position: relative;
  letter-spacing: 0.7px;
  color: #25343E; /* 初期文字色 */
  padding-right: 10px; /* 矢印分の余白 */
  transition: color 0.3s ease;
}

/* 横棒 */
.itembox_link a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);   /* 文字の右10pxから開始 */
  width: 52px;               /* 初期長さ */
  height: 1px;               /* 線の太さ */
  background: #25343E;       /* 初期色 */
  transform: translateY(-50%);
  transform-origin: left center;
  transition: width 0.4s ease, background 0.3s ease;
}

/* 矢印の先端 */
.itembox_link a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 10px + 52px - 4px); /* 棒の先端に配置 */
  width: 8px;
  height: 8px;
  border-top: 1px solid #25343E;
  border-right: 1px solid #25343E;
  transform: translateY(-50%) rotate(45deg);
  transition: left 0.4s ease, border-color 0.3s ease;
}

/* ホバー時 */
.itembox_link a:hover {
  color: #A68E65; /* 文字色を金色に */
}

.itembox_link a:hover::before {
  width: 72px;             /* 右に伸びる */
  background: #A68E65;
}

.itembox_link a:hover::after {
  left: calc(100% + 10px + 72px - 4px); /* 棒の先に追従 */
  border-color: #A68E65;
}


/*--------------------------*/
.itembox.bgdeco01 {
  position: relative;
}
@media screen and (max-width: 768px) {
  .itembox.bgdeco01 {
    margin-bottom: 120px;
  }
}
.itembox.bgdeco01::before {
  content: "";
  position: absolute;
  width: 100vw;
  height: 0;
  padding-top: 40%;
  left: 50%;
  transform: translateX(-50%);
  top: 20%;
  background: url(../../showroom/img/2025/itembox_deco01.svg) no-repeat bottom left;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .itembox.bgdeco01::before {
    top: 100%;
    padding-top: 80%;
    background-image: url(../../showroom/img/2025/itembox_deco01_sp.svg);
  }
}

.exhibitor {
  background: url(../../showroom/img/2025/exvitor_bg.svg) #25343E left bottom repeat-x;
  background-size: 85%;
  padding: 0 20px 260px 20px;
}
@media screen and (max-width: 768px) {
  .exhibitor {
    background-size: 100%;
    padding: 0 0 208px;
    background-size: 320%;
  }
}
.exhibitor_title {
  display: flex;
  justify-content: center;
  padding: 90px 0 44px 50px;
}
@media screen and (max-width: 768px) {
  .exhibitor_title {
    padding: 100px 0 59px 48px;
    justify-content: flex-start;
    overflow: hidden;
  }
}
.exhibitor_title h2 {
  position: relative;
}
@media screen and (max-width: 768px) {
  .exhibitor_title h2 {
    width: 223px;
  }
}
.exhibitor_title h2::before {
  content: "";
  position: absolute;
  width: 112px;
  height: 73px;
  background: url(../../showroom/img/2025/exvihitor_title_deco.svg) no-repeat;
  background-size: cover;
  top: 0;
  left: calc(100% + 30px);
  background-size: 100%;
}
.exhibitor_list {
  display: flex;
  max-width: 700px;
  margin: 0 auto;
  justify-content: space-between;
  position: relative;
  color: #fff;
}
.exhibitor_list::before {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  background: #535C62;
}
@media screen and (max-width: 768px) {
  .exhibitor_list::before {
    left: 48px;
    top: 50%;
    width: calc(100% - 96px);
    height: 1px;
  }
}
@media screen and (max-width: 768px) {
  .exhibitor_list {
    display: block;
    padding-left: 48px;
  }
}
@media screen and (max-width: 768px) {
  .exhibitor_list dl {
    margin-bottom: 95px;
  }
}
.exhibitor_list:nth-child(2) {
  padding-right: 27px;
}
@media screen and (max-width: 768px) {
  .exhibitor_list:nth-child(2) {
    margin-bottom: 0;
  }
}
.exhibitor_list dt {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .exhibitor_list dt {
    margin-bottom: 7px;
  }
}
.exhibitor_list dt span {
  display: block;
  font-size: 19px;
  margin-top: 5px;
  font-weight: 400;
  letter-spacing: 2px;
}
@media screen and (max-width: 768px) {
  .exhibitor_list dt span {
    font-size: 18px;
  }
}
.exhibitor_list dd {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  letter-spacing: 0.6px;
  line-height: 1.85;
}
.exhibitor_list dd a {
  color: #FFF;
}
@media screen and (max-width: 768px) {
  .exhibitor_list dd {
    font-size: 15px;
    line-height: 1.95;
  }
}

.venue {
  padding: 150px 20px 170px;
}
@media screen and (max-width: 768px) {
  .venue {
    padding-top: 138px;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 90px;
  }
}
.venue.osaka {
  background: url(../../showroom/img/2025/venue_deco01.svg) no-repeat left 20px;
}
@media screen and (max-width: 768px) {
  .venue.osaka {
    background-image: url(../../showroom/img/2025/venue_deco01_sp.svg);
    background-size: 39%;
    background-position: left 10px;
  }
}
.venue.tokyo {
  padding-top: 147px;
  padding-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .venue.tokyo {
    padding-top: 97px;
  }
}
.venue.tokyo {
  position: relative;
  background-color: #EBECED;
}
.venue.tokyo::before {
  content: "";
  width: 26.64%;
  max-width: 373px;
  height: 310px;
  position: absolute;
  right: 0;
  top: -200px;
  background: url(../../showroom/img/2025/venue_deco02.svg) no-repeat right top;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .venue.tokyo::before {
    width: 57.64%;
    max-width: auto;
    background-position: bottom;
  }
}
.venue_wrap {
  max-width: 1020px;
  margin: 0 auto;
}
.venue_title {
  max-width: 690px;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .venue_title {
    padding: 20px;
  }
}
.venue_title h2 {
  text-align: center;
  padding-bottom: 25px;
  width: 100%;
  font-size: 35px;
  border-bottom: double #A38659 4px;
}
@media screen and (max-width: 768px) {
  .venue_title h2 {
    padding-bottom: 14px;
  }
  .venue_title h2 img {
    width: 168px;
  }
}
.venue_title h2 span {
  display: block;
  color: #A38659;
  font-size: 22px;
  margin-top: 15px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .venue_title h2 span {
    font-size: 18px;
  }
}
.venue_text {
  max-width: 690px;
  margin: 0 auto;
  padding-bottom: 10px;
}
.venue_text span {
  margin-right: 16px;
}
@media screen and (max-width: 768px) {
  .venue_text {
    padding: 0 20px;
  }
}
.venue_text h3 {
  text-align: center;
  font-size: 38px;
  margin-bottom: 10px;
  padding-top: 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .venue_text h3 {
    font-size: 28px;
    padding-top: 5px;
  }
}
.venue_text p {
  font-size: 15px;
  margin-bottom: 18px;
  letter-spacing: 0.7px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 768px) {
  .venue_text p {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .venue_img {
    margin-top: 33px;
  }
}
.venue_img picture {
  display: block;
  margin-bottom: 14px;
}
.venue_img picture:last-child {
  margin: 0;
}
.venue_map {
  padding-top: 34px;
}
.venue_map p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 15px;
  padding-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .venue_map p {
    padding: 0 20px 40px;
  }
  .venue_map p span {
    display: block;
  }
}
.venue_map iframe {
  filter: grayscale(100%);
}