* img {
  display: block;
  width: 100%;
  height: auto;
}

html {
  -webkit-text-size-adjust: 100%;
}



.layout_hero {
  position: relative;
}

.sp_opening_animation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sp_opening_animation img {
  width: 90%;
  max-width: 612px;
  display: none;
  position: absolute;
  top: 15%;
}

.top_movie {
  margin-bottom: min(5.7vw, 42px);
  margin-bottom: 30px;
  position: relative;
  margin-top: 0;
  line-height: 1;
  overflow: hidden;
}

.top_movie::after {
  content: '';
  position: absolute;
  background-color: #000;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.7;
}

.top_movie video {
  width: 100%;
  position: relative;
  transform: scale(1.5);
}

.top_movie img {
  width: 82.6vw;
  position: absolute;
  top: calc(50% + 0px);
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}



.layout_banner {
  width: 95%;
  margin: 25px auto 0;
}

.banner_img {
  max-width: 689px;
  margin: 0 auto;
}

.banner_img .img1 {
  margin-bottom: min(3.4vw, 25px);
}

/*新着アイテム　STR*/
.top_page .head {
  width: 95%;
  margin: min(6.4vw, 46px) auto min(2.8vw, 20px);
  font-size: min(4vw, 30px);
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.2em;
}

.top_page .head h2 {
  margin: 0;
  padding: 4px 0px;
  font-size: min(4.1vw, 30px);
}

.top_page .list {
  margin: 0 0 10px 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 95%;
  margin: 0 auto;
  overflow: hidden;
}

.top_page .list .item {
  width: 44%;
  margin: 0;
  padding: 0 0 0 7px;
  flex-shrink: 0;
}

.top_page .list .item .image {
  height: min(33vw, 235px);

  margin: 0 0 10px 0;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.top_page .list .item .image img {
  width: 100%;
  height: auto;
  text-align: center;
  display: block;
  transition: all 0.4s 0s;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
}

#content .top_page .list .item .image .tall img {
  width: 100%;
  height: 100%;
}

.top_page .list .item .image a:hover img {
  opacity: 0.6;
}

.top_page .list .item .image .tag_thumb {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.top_page .list .item .image .state {
  margin: 0 4px 4px 0;
  padding: 4px;
  line-height: 1.2em;
  font-size: min(1.8vw, 13px);

}

.top_page .list .item .image .state.new {
  color: #E7336B;
  background: #ffffff;
  border: 1px solid #E7336B;
}

.top_page .list .item .image .state.recycling {
  color: #0074C1;
  background: #ffffff;
  border: 1px solid #0074C1;
}

.top_page .list .item .image .state.secondhand {
  color: #00A73C;
  background: #ffffff;
  border: 1px solid #00A73C;
}

.top_page .list .item .image .state.classic {
  color: #663e97;
  background: #ffffff;
  border: 1px solid #663e97;
}

.top_page .list .item .image .state.coupon {
  color: #fff;
  background-color: #ffa93e;
  border: 1px solid #f7b521;
}

.top_page .list .item .image .state.shipping {
  color: #fff;
  background-color: #df0000;
  border: 1px solid #df0000;
}

.top_page .list .item .image .soldout {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.top_page .list .item .image .soldout .inner {
  width: 100%;
  margin: 0;
  padding: 0.3em 0.2em;
  color: #fff;
  font-size: min(2.2vw, 16px);
  font-weight: 600;
  text-align: center;
  transform: translate(-50%, -50%) rotate(-5deg);
  background-color: rgba(225, 6, 6, 0.8);
  position: absolute;
  top: 50%;
  left: 50%;
}

.top_page .list .item .info {
  position: relative;
  z-index: 0;
  margin: 0;
}

.top_page .list .item .info>a {
  margin: 0;
  padding: 0;
  display: block;
  transition: all 0.4s 0s;
  font-size: 0;
}

.top_page .list .item .info>a:hover {
  opacity: 0.6;
}

.top_page .list .item .info .category {
  margin-right: 0;
  padding: 4px;
  line-height: 1.2em;
  font-size: min(2.4vw, 18px);
  color: #ffffff;
  background: #000000;
  border: 1px solid #000000;
  display: inline-block;
}

.top_page .list .item .info .like {
  width: 15px;
  position: absolute;
  top: 6px;
  right: 3px;
  z-index: 1;
}

.top_page .list .item .info .like img {
  display: block;
}

.top_page .list .item .name {
  padding: 5px 0 5px 0;
  line-height: 1.4em;
  font-size: min(2.7vw, 20px);
  color: #000;
}

.top_page .list .item .name a {
  color: #000000;
}

.top_page .list .item .price {
  padding: 0 0 5px 0;
  line-height: 1em;
  font-size: min(3.55vw, 26px);
  font-weight: bold;
  color: #E40012;
  font-family: "Inter", sans-serif;
  font-feature-settings: "palt";
}

.top_page .list .item .price .tax {
  padding: 0 0 0 0;
  line-height: 1.2em;
  font-size: min(2.9vw, 22px);
  font-weight: bold;
  display: inline-block;
}

.top_page .list .item .price.tax_included {
  padding: 0 0 0 0;
  line-height: 1.2em;
  font-size: min(2.4vw, 18px);
  font-weight: normal;
  color: #000000;
}

.top_page .list .item .price.tax_included .tax {
  padding: 0 0 0 0;
  line-height: 1.2em;
  font-size: min(2.2vw, 16px);
  font-weight: normal;
}

.top_page .list .item .price.list_price {
  padding: 0 0 0 0;
  line-height: 1.2em;
  font-size: min(2.7vw, 20px);
  font-weight: normal;
  color: #000000;
}

.top_page .list .item .price.list_price .tax {
  padding: 0 0 0 0;
  line-height: 1.2em;
  font-size: min(2.4vw, 18px);
  font-weight: normal;
}

.top_page .list .item .price.list_price .text {
  padding: 0 0 0 0;
  line-height: 1.2em;
  font-size: min(2.4vw, 18px);
  font-weight: normal;
}

.top_page .list .item .price.list_price .num {
  text-decoration: line-through;
}

.top_page .list .item .message_label {
  padding: 4px;
  line-height: 1.2em;
  font-size: 11px;
  font-weight: normal;
  color: #FFF000;
  background: #E40012;
  display: inline-block;
}

.top_page .list.top .slick-list {
  padding: 0 0 !important;
}

.swiper {
  width: 100%;
  overflow: hidden;
}

.swiper-wrapper {
  display: flex;
}

.swiper-slide {
  flex-shrink: 0;
}

.top_page .list .item .like {
  width: 15px;
  position: absolute;
  bottom: 26px;
  right: 3px;
  z-index: 1;
}


.slick-prev,
.slick-next {
  background-color: #000;
  border-radius: 0;
  z-index: 1;
  opacity: 0.6;
}

.slick-prev:before,
.slick-next:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
}


.slick-prev {
  left: 5px;
}

.slick-next {
  right: 5px;
}

.slick-prev:before {
  transform: translate(-30%, -50%) rotate(-45deg);
}

.slick-next:before {
  transform: translate(-70%, -50%) rotate(135deg);
}

.slick-prev:hover,
.slick-next:hover {
  background-color: #000000;
}

/*新着アイテム　END*/

.banner_search {
  width: 95%;
  margin: 0 auto min(6.3vw, 46px);
}

/*お知らせ・定休日STR*/
.news-container {
  width: 92%;
  margin: 0 auto;
}

/* タブナビゲーション */
.news-tabs {
  display: flex;
  justify-content: space-around;
  list-style: none;
  padding: 0;
  margin: 0 0 0 0;
  border-bottom: 1px solid #a8a8a8;
}

.news-tabs li {
  padding: 0 5px 2px 5px;
  cursor: pointer;
  font-weight: 500;
  font-size: min(3.1vw, 23px);
  position: relative;
  bottom: -1px;
  border-bottom: 3px solid transparent;
}

.news-tabs li.active {
  border-bottom: 2px solid #111;
  color: #111 !important;
}

.tab-new {
  color: #e60012;
}

.tab-topics {
  color: #02688d;
}

.tab-featured {
  color: #ee6c00;
}

.tab-holiday {
  color: #00b900;
}

/* 記事リスト */
.news-item {
  display: flex;
  gap: 20px;
  padding: min(4.2vw, 30px) 0;
  border-bottom: 1px solid #a8a8a8;
}

/* サムネイル画像 */
.news-img {
  flex: 0 0 min(27.1vw, 200px);
}

.news-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 1px solid #000000;
}

/* テキストコンテンツ */
.news-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  color: #000;
}

/* バッジ */
.news-badge {
  align-self: flex-start;
  color: #fff;
  padding: 2px 12px;
  font-size: min(2.7vw, 20px);
  border-radius: 999px;
}

/* 各バッジの背景色 */
.badge-new {
  background-color: #e60012;
}

.badge-topics {
  background-color: #0068b7;
}

.badge-featured {
  background-color: #ee6c00;
}

.badge-holiday {
  background-color: #00b900;
}

.news-date {
  font-size: min(3.1vw, 23px);
  font-family: "Inter", sans-serif;
  margin-top: min(1.4vw, 10px);
  line-height: 1.1;
}

.news-title {
  margin: 0 0 8px 0;
  font-size: min(3.8vw, 28px);
  line-height: 1.3;
  font-weight: normal;
  font-feature-settings: "palt";
}

.news-desc {
  margin: 0;
  font-size: min(2.5vw, 18px);
}

/* 一覧へのリンク */
.news-more {
  text-align: center;
  margin-top: min(2.8vw, 20px);
}

.news-more a {
  color: #000;
  text-decoration: none;
  font-weight: 600;
  font-size: min(2.7vw, 20px);
}

.news-more a:hover {
  text-decoration: underline;
}


/*お知らせ・定休日END*/


/*商品カテゴリーから探す以下STR*/
.col_topcat {
  margin: 0 0 25px;
  padding: 10px 0 0;
  box-sizing:
    border-box;
}

.col_topcat .mds {
  width: 96%;
  margin: 0 auto;
  font-size: min(4vw, 30px);
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  font-weight: 600;
  text-align: center;
  padding: min(0.6vw, 4px) 0;
}

.col_topcat .list_topcat {
  width: 94%;
  max-width: 678px;
  margin: min(3.8vw, 28px) auto 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content:
    space-between;
}

.col_topcat_wrap {
  width: 94%;
  max-width: 678px;
  margin: 0 auto;
  padding: 0;
}

.col_topcat .list_topcat>a {
  width: calc((100% - 48px) / 2);
  max-width: 330px;
  margin: 0 0 min(2.7vw, 20px) 0;
  padding: 8px 4px;
  background: rgb(180 134 186 / 35%);
  color: #81467E;
  border-left: solid 8px #81467E;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-right: none;
  border-top: none;
  border-bottom: none;
}

.col_topcat .list_topcat>a:nth-of-type(2) {
  background: rgb(224 199 126 / 35%);
  color: #906833;
  border-left: solid 8px #906833;

}

.col_topcat .list_topcat>a:nth-of-type(3) {
  background: rgb(108 174 221 / 35%);
  color: #00526A;
  border-left: solid 8px #00526A;
}

.col_topcat .list_topcat>a:nth-of-type(4) {
  background: rgb(132 195 150 / 35%);
  color: #2A6049;
  border-left: solid 8px #2A6049;
}

.col_topcat .list_topcat>a:nth-of-type(5) {
  background: rgb(247 188 134 / 35%);
  color: #A2502F;
  border-left: solid 8px #A2502F;
}

.col_topcat .list_topcat>a:nth-of-type(6) {
  background: rgb(185 186 186 / 35%);
  color: #3D3D3D;
  border-left: solid 8px #3D3D3D;
}

.col_topcat .list_topcat>a .img {
  width: 40%;
  max-width: 164px;
}

.col_topcat .list_topcat>a:nth-of-type(3) .img {
  max-width: 107px;
  width: 30%;
}

.col_topcat .list_topcat>a:last-child {
  margin-right: 0;
}

.col_topcat .list_topcat .submds {
  margin: 0 0 2px;
  padding: 0;
  font-size: min(3.48vw, 26px);
  position: relative;
  z-index: 0;
  font-weight: 500;
  line-height: 1.2;
}

.col_topcat .list_topcat .img img {
  vertical-align: top;
}

.col_topcat_wrap .category {
  margin: 0;
  padding: 0 0 15px 0;
  display: flex;
  flex-wrap: wrap;
}

.col_topcat_wrap .category.first {
  margin: 0 0 0 0;
  padding: 0 0 15px 0;
  display: flex;
  flex-wrap: wrap;
}

.col_topcat_wrap .category.last {
  padding: 0;
}

.col_topcat_wrap .category a {
  width: calc((100% - 20px) / 2);
  margin: 0 15px 15px 0;
  padding: 5px 0;
  line-height: 1.2em;
  font-size: min(3.4vw, 25px);
  color:
    #000000;
  border: 1px solid #7F7F7F;
  display: inline-block;
  text-align:
    center;
}

.col_topcat_wrap .category.brand a {
  width: calc((100% - 36px) / 3);
  margin: 0 15px 15px 0;
  max-height: 30px;
  height: 5vw;
  padding: 5px 0;
  line-height: 1em;
  font-size: 14px;
  color: #000000;
  border: 1px solid #7F7F7F;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.col_topcat_wrap .category a:nth-of-type(2n) {
  margin: 0 0 15px 0;
}

.col_topcat_wrap .category.brand a:nth-of-type(2n) {
  margin: 0 15px 5px 0;
}

.col_topcat_wrap .category.brand a:nth-of-type(3n) {
  margin: 0 0 5px 0;
}

.col_topcat_wrap .category.brand a img {
  max-width: 95px;
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
}

.col_topcat_wrap .category a.state.digital {
  color: #81467E;
  border: 1px solid #81467E;
}

.col_topcat_wrap .category a.state.upright {
  color: #906833;
  border: 1px solid #906833;
}

.col_topcat_wrap .category a.state.grand {
  color: #00526A;
  border: 1px solid #00526A;
}

.col_topcat_wrap .category a.state.kan {
  color: #2A6049;
  border: 1px solid #2A6049;
}

.col_topcat_wrap .category a.state.usepiano {
  color: #0089D3;
  border:
    1px solid #0089D3;
}

.col_topcat_wrap .category a.state.good {
  color: #7CBD27;
  border: 1px solid #7CBD27;
}

.col_topcat_wrap .category a.state.elderly {
  color: #F4A900;
  border: 1px solid #F4A900;
  font-feature-settings: “palt”;
  margin: 0 15px 0 0;
}

.col_topcat_wrap .category a.state.new {
  color: #e7336b;
  border: 1px solid #e7336b;
}

.col_topcat_wrap .category.brand {
  padding: 0;
  margin: min(3.6vw, 26px);
}

.col_topcat_wrap h3.category_ttl {
  font-size: min(3.9vw, 29px);
  margin: 0;
  padding: min(2vw, 15px);
}

.col_topcat_wrap .box_list {
  width: 100%;
  margin: min(3.4vw, 25px) 0 22px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  border-left: solid 1px #7F7F7F;
  box-sizing: border-box;
}

.col_topcat_wrap .box_list a {
  width: 25%;
  margin: 0;
  padding: 10px 5px;
  font-size: 15px;
  text-align: center;
  line-height: 1.2;
  border-right:
    solid 1px #7F7F7F;
  border-bottom: solid 1px #7F7F7F;
  box-sizing:
    border-box;
  display: block;
  position: relative;
  z-index: 0;
  color: #000;
}

.col_topcat_wrap .box_list a.active {
  background-color: #e5e5e5;
}

.col_topcat_wrap .box_list a:nth-child(-n+4) {
  border-top: solid 1px #7F7F7F;
}

.col_topcat_wrap .box_list a span {
  width: 65%;
  max-width: 100px;
  height: 6.8vw;
  max-height: 50px;
  margin: 0 auto 4px;
  padding: 0;
  border: solid 1px #ddd;
  box-sizing: border-box;
  display: block;
  border-radius:
    5px;
}

.col_topcat_wrap .box_list a span.wood_color {
  background-image: url(../../img/shop/top/wood_color.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.col_topcat_wrap .box_list a span.blackwood_color {
  background-image: url(../../img/shop/top/blackwood_color.svg);
  background-repeat:
    no-repeat;
  background-size: cover;
}

.col_topcat_wrap .box_list a span.mirror_color {
  background-image: url(../../img/shop/top/mirror_color.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

/*商品カテゴリーから探す以下END*/

.banner_event {
  width: 95%;
  max-width: 682px;
  margin: 20px auto 0;
}

.banner_event img {
  margin: 0 auto min(4.7vw, 35px);
}

.banner_event .hover_text {
  display: none;
}

.alignright{
  text-align: right;
}

.studio_area.sp {
  display: block;
}

.studio_area.pc {
  display: none;
}

.studio_area {
  background-color: #f2f2f2;
  padding-top: min(5.5vw, 40px);
  margin-top: min(9.2vw, 68px);
}

.wrap_studio {
  width: 95%;
  margin: 0 auto;
}

.studio_area .head {
  font-size: min(5.4vw, 40px);
  text-align: center;
  padding-bottom: min(5.4vw, 40px);
  border-bottom: 1px solid #000;
  font-weight: bold;
}

.studio_area .img {
  margin: min(5.4vw, 40px) auto 0;
}

.studio_area .mds {
  font-size: min(5.4vw, 40px);
  font-weight: 900;
  line-height: 1.1;
  margin-top: min(4vw, 30px);
  padding-bottom: min(5.2vw, 40px);
  border-bottom: 1px solid #000;
}

.studio_area .mds .small {
  font-size: min(3.4vw, 28px);
  font-weight: 600;
}

.studio-container {
  padding: min(4vw, 30px) 0 min(5.4vw, 35px);
  border-bottom: 1px solid #000;
}

.studio_name {
  font-size: min(4.6vw, 34px);
  font-weight: 600;
  position: relative;
  padding-left: 1em;
}

.business_hours {
  padding-left: 2em;
}

.studio_desc {
  padding-left: 2em;
}

.studio_name::before {
  content: '';
  position: absolute;
  background-color: #000;
  width: 0.36em;
  height: 0.36em;
  top: 0.6em;
  left: 0.3em;
}



.studio_area .btn {
  display: inline-block;
  position: relative;
  padding: 0px min(1.4vw, 10px) 0px 10px;
  margin-left: 2em;
  background-color: #1f1f1f;
  color: #ffffff;
  font-size: min(3vw, 20px);
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.studio_area .btn:hover {
  opacity: 0.8;
}

.studio_area .btn img {
  display: inline-block;
  width: min(3vw, 20px);
  vertical-align: middle;
  padding: 0 0 min(1.1vw, 8px) 0;
}

.btn-wrap {
  display: flex;
  justify-content: center;
  gap: min(3.4vw, 25px);
  padding: min(2.8vw, 20px) 0 min(8.8vw, 65px);
}

.studio_area .mds2 {
  font-size: min(4vw, 30px);
  background-color: #000;
  color: #fff;
  text-align: center;
  margin: min(6vw, 44px) 0 min(1.4vw, 10px) 0;
  padding: 2px 0;
}

.studio_area .aligncenter {
  text-align: center;
  font-size: min(4vw, 30px);
}

.contact-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(3.7vw, 28px);
  flex: 1;
  padding: min(2vw, 15px) min(1.4vw, 10px);
  border: 2px solid #000;
  text-decoration: none;
  color: #000;
  max-width: 316px;
  box-sizing: border-box;
}

.contact-btn .icon {
  width: min(6.5vw, 48px);
  height: auto;
}

.contact-btn .text {
  line-height: 1.1;
}

.contact-btn .sub {
  display: block;
  font-size: min(3vw, 22px);
  font-weight: 500;
  text-align: center;
}

.contact-btn .main {
  display: block;
  font-size: min(3.8vw, 28px);
  font-weight: 700;
}

.bnr_piano_consul.pc {
  display: none;
}


.bnr_piano_consul {
  width: 95%;
  max-width: 704px;
  margin: min(8.1vw, 60px) auto;
}

.bnr_piano_consul a:hover {
  opacity: 0.8;
}

.container-ch {
  max-width: 1260px;
  width: 95%;
  margin: min(6.8vw, 50px) auto min(15.2vw, 200px);
}

.container-ch .mds {
  width: 96%;
  margin: 0 auto min(3.8vw, 28px);
  padding: min(0.6vw, 4px) 0;
  font-size: min(4vw, 30px);
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  font-weight: 500;
  text-align: center;
}

.movie_flex {
  display: flex;
  gap: min(1.72vw, 25px);
  max-width: 872px;
  margin: 0 auto;
}


.movie_flex .box {
  width: 50%;
  line-height: 1;
}

.movie_flex iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

.movie-ttl span {
  font-size: min(2.7vw, 20px);
  position: relative;
}

.movie-ttl img {
  width: min(2.7vw, 20px);
  display: inline-block;
  vertical-align: middle;
  padding: 0 0 min(0.82vw, 6px) 0;
}

@media screen and (min-width:1034px) {

  .studio_area.pc {
    display: block;
  }

  .studio_area.sp {
    display: none;
  }

  .studio_area {
    padding-top: 20px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .studio_area .head {
    font-size: 20px;
    padding-bottom: 20px;
  }

  .studio_area.pc .flex {
    display: flex;
    justify-content: center;
    gap: 27px;
    margin: 55px 0 0 0;
    padding: 0 0 30px 0;
  }

  .studio_area .img {
    width: 37vw;
    max-width: 456px;
    margin: 0;
  }

  .studio_area .right {
    font-size: 15px;
  }

  .studio_area .mds {
    font-size: 20px;
    margin-top: 0;
    padding-bottom: 0;
    border: none;
  }

  .studio-container {
    padding: 20px 0;
  }

  .studio-container:last-child {
    border-bottom: none;
  }

  .studio_area .mds .small {
    font-size: 14px;
  }

  .studio_name {
    font-size: 17px;
  }

  .studio_area .btn {
    padding: 0px min(1.4vw, 10px) 0px 10px;
    margin-left: 2em;
    font-size: 13px;
    margin-top: 10px;
  }
}







@media screen and (min-width: 741px) {


  .sp_opening_animation {
    display: none;
  }

  .layout_with_sidebar .layout_hero,
  .layout_with_sidebar .layout_banner,
  .layout_with_sidebar .layout_rest {
    order: 2;
    flex: 1 1 calc(100% - 355px - min(3.2vw, 32px));
    min-width: 0;
    overflow: hidden;
  }

  .top_page.pc_none {
    display: none;
  }

  .top_page {
    max-width: 1260px;
    margin: 0 auto;
  }

  .layout_banner .banner_img {
    display: flex;
    gap: 12px;
    max-width: none;
    margin: 0;
    justify-content: center;
    flex-wrap: wrap;
  }

  .layout_sidebar_flex .side_search {}

  .layout_banner .banner_img>a {
    min-width: 0;
    max-width: 418px;
    margin: 0;
    width: calc(50% - 6px);
  }

  .layout_banner .banner_img>a:hover {
    opacity: 0.8;
  }

  .layout_banner .banner_img .img1 {
    margin-bottom: 0;
  }



  .top_movie {
    margin-bottom: 30px;
    position: relative;
    margin: 0 0 0px 1px;
    /*ばぐよけ*/
    margin-top: -84px;
    line-height: 1;
  }

  .top_movie::after {
    content: '';
    position: absolute;
    background-color: #000;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.7;
  }

  .top_movie video {
    width: 100%;
    position: relative;
  }

  .top_movie img {
    width: 34vw;
    position: absolute;
    top: calc(50% + 42px);
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }


  .banner_search {
    display: none;
  }

  .top_page .head {
    /*ココは本文のタイトル箇所*/
    font-size: 15px;
    width: 98%;
    max-width: 872px;
    line-height: 2;
    margin: 34px auto 10px;
  }

  .top_page .head h2 {
    font-size: 15px;
    padding: 0px 0px;
    font-weight: 500;
  }

  .layout_rest .news-container .news-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 30px;
    max-width: 830px;
    margin: 0 auto;
  }

  .layout_rest .news-container .news-item {
    box-sizing: border-box;
    padding: 30px 0 0 0;
    width: calc(50% - 15px);
    border: none;
    cursor: pointer;
  }

  .layout_rest .news-container .news-item:hover {
    opacity: 0.8;
  }

  .layout_rest .news-tabs {
    gap: 0;
    width: 90%;
    max-width: 717px;
    margin: 0 auto;
  }

  .news-tabs li {
    font-size: 15px;
  }


  .news-item {
    position: relative;
  }

  .news-item::after {
    content: '';
    position: absolute;
    top: 53%;
    right: -6px;
    width: 12px;
    height: 12px;
    border-top: 1px solid #000000;
    border-right: 1px solid #000000;
    transform: translateY(-50%) rotate(45deg);
  }


  .news-img {
    flex: 0 0 125px;
    max-width: 125px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }

  .news-badge {
    font-size: 13px;
    padding: 0px 7px;
  }

  .news-date {
    font-size: 15px;
    margin: 0px;
    line-height: 1.6;
    font-weight: 300;
  }

  .news-title {
    font-size: 18px;
  }

  .news-desc {
    font-size: 12px;
  }

  .news-more {
    display: none;
  }

  .layout_rest .banner_event {
    display: flex;
    flex-wrap: wrap;
    max-width: none;
    justify-content: center;
    align-items: flex-start;
    gap: 15px;
  }

  .layout_rest .banner_event a {
    max-width: 410px;
    width: calc(50% - 7.5px);
    position: relative;
  }

  .layout_rest .banner_event a:hover {
    opacity: 0.9;
  }

  .layout_rest .banner_event img {
    margin: 0;
  }

  .banner_event .hover_text {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.88);
    color: #000;
    font-family: "Zen Old Mincho", serif;
    padding: 4px 10px;
    font-size: 12px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
  }


  .banner_event a:hover .hover_text {
    opacity: 1;
  }

  .banner_event .arrow_icon {
    margin-left: 5px;
    width: 20px;
    height: auto;
  }

  .container-ch {
    margin-bottom: 53px;
  }

  /* .studio_area.pc {
    display: block;
  }

  .studio_area.sp {
    display: none;
  }

  .studio_area {
    padding-top: 20px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .studio_area .head {
    font-size: 20px;
    padding-bottom: 20px;
  }

  .studio_area.pc .flex {
    display: flex;
    justify-content: center;
    gap: 27px;
    margin: 55px 0 0 0;
    padding: 0 0 30px 0;
  }

  .studio_area .img {
    width: 37vw;
    max-width: 456px;
    margin: 0;
  }

  .studio_area .right {
    font-size: 15px;
  }

  .studio_area .mds {
    font-size: 20px;
    margin-top: 0;
    padding-bottom: 0;
    border: none;
  }

  .studio-container {
    padding: 20px 0;
  }

  .studio-container:last-child {
    border-bottom: none;
  }

  .studio_area .mds .small {
    font-size: 14px;
  }

  .studio_name {
    font-size: 17px;
  }

  .studio_area .btn {
    padding: 0px min(1.4vw, 10px) 0px 10px;
    margin-left: 2em;
    font-size: 13px;
    margin-top: 10px;
  }
 */








  .layout_rest .col_topcat {
    display: none;
  }

  .bnr_piano_consul.sp {
    display: none;
  }

  .bnr_piano_consul.pc {
    max-width: none;
    display: flex;
    justify-content: center;
    gap: 20px;
  }

  .bnr_piano_consul.pc img {
    max-width: 412px;
  }

  .bnr_piano_consul .novisible {
    visibility: hidden;
  }





  .container-ch .mds {
    font-size: 15px;
    margin: 60px auto 25px;
    width: 100%;
    line-height: 2;
    max-width: 872px;
  }

  .movie_flex .box {
    max-width: 272px;
  }

  .movie-ttl span {
    font-size: 15px;
  }

  .movie-ttl img {
    width: 20px;
    display: inline-block;
    vertical-align: middle;
    padding: 0 0 6px 0;
  }



}

@media screen and (min-width: 741px) and (max-width: 1034px) {
  .layout_rest .news-container .news-item {
    width: 100%;
  }
}



@media screen and (min-width: 741px) and (max-width: 850px) {
  .news-tabs li {
    font-size: 12px;
  }
}