﻿
/* パンくず調整 */
.breadcrumb li a::before, .breadcrumb li a::after {
    content: none;
}

.breadcrumb li a {
    display: inline;
    align-content: center;
    align-items: center;
    color: #2068B7;
    padding: 0;
    position: relative;
    height: 40px;
}

.breadcrumb ol li {
    float: none;
    display: inline-block;
}


.breadcrumb {
    border: none;
}

/* 全体 */
img {
	width: 100%;
	height: auto;
	object-fit: cover;
}
.wintersale {
    font-family: "Noto Sans JP" !important;
    line-height: 36px;
    color: #3E3E3E;
}

.mv {
    position: relative;
}

.mainvisual {
    width: 100%;
}

.nav .list {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 70px 0 60px;
}

.nav .list a {
    display: flex;
    width: 171px;
    height: 74px;
    border: 2px solid #971400;
    border-radius: 14px;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    color: #971400;
    line-height: 22px;
    position: relative;
    text-decoration: none;
    margin-left: 8px;
    font-weight: bold;
    font-size: larger;
}

.nav .list a img {
    width: 35px;
    height: 30px;
    object-fit: contain;
    margin-right: 3px;
}

.nav .list a::after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #971400;
    border-right: solid 2px #971400;
    position: absolute;
    bottom: 12px;
    right: 45%;
    margin-top: -8px;
    transform: rotate(135deg);
}

/* sec1 */
.wintersale .sec.no1 {
    margin: 0 auto;
    padding-top: 70px;
    padding-bottom: 1px;
    background-color: #F2F8FF;
}

.wintersale .sec.no1 .nav .list {
    display: flex;
    align-items: center;
    justify-content: center;
}

.wintersale .sec.no1 .nav .list a {
    display: flex;
    width: 230px;
    height: 80px;
    border: 2px solid #005B7A;
    border-radius: 15px;
    justify-content: center;
    align-items: center;
    color: #005B7A;
    line-height: 22px;
    position: relative;
    text-decoration: none;
    margin-left: 25px;
    font-weight: bold;
    font-size: 19px;
}

.wintersale .sec.no1 .nav .list a:first-child {
    margin-left: 0px;
}

.wintersale .sec.no1 .nav .list a::after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #005B7A;
    border-right: solid 2px #005B7A;
    position: absolute;
    bottom: 5px;
    right: 45%;
    margin-top: -8px;
    transform: rotate(135deg);
}

.wintersale .sec.no1 .nav .list a:nth-child(2n)::after {
    border-top: solid 2px #005B7A;
    border-right: solid 2px #005B7A;
}

.wintersale .sec.no1 .nav .list a img {
    width: 35px;
    height:35px;
    object-fit: contain;
    margin-right: 12px;
}

.wintersale .sec.no1 .nav .list a:nth-child(2n) {
    border: 2px solid #005B7A;
    color: #005B7A;
}

.wintersale .sec.no1 .nav .list a:hover {
    background-color: #8EC8FB;
}


.wintersale .intro-wrapper {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    background-color: #fff;
    width: 809px;
    margin: 0 auto;
    padding: 25px;
    border-radius: 15px;
}

.sale-title {
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 0.3em;
  color: #003894; /* メインカラー */
}

.wintersale .introduction {
    font-size: 20px;
    font-weight: bold;
}

.introduction .note {
    font-size: 16px;
}

.wintersale .introductionnote {
    font-size: 18px;
    line-height: 36px;
    margin-top: 30px;
    text-align: center;
    font-weight: bold;
}

.wintersale .introductionnote:nth-child(2) {
    font-size: 16px;
}


/* sec2 */
.wintersale .sec.no2 {
    background-color: #d4eefc;
    padding-top: 60px;
    margin-top: 58px;
    padding-bottom: 90px;
}

.wintersale .sec.no2 .wrapper {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
}

.wintersale .sec .title{
    text-align: center;
    color: #148ECC;
    display: flex;
    align-items: center;
    flex-direction: column;
}

.wintersale .sec .title img {
    width: 770px;
    object-fit: contain;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


.wintersale .sec.no2 .date {
    background: #fff;
    margin: 0 auto;
    margin-top: 50px;
    max-width: 500px;
    padding: 24px 50px;
}

.wintersale .sec.no2 .date .title {
    font-size: 20px;
    color: #3E3E3E;
    display: inline-block;
    font-weight: bold;
    border-bottom: 1px dotted #E65C8C;
}

.wintersale .sec.no2 .date .title span {
    color: #E65C8C;
}

.wintersale .sec.no2 .date .wrapper {
    display: flex;
    flex-direction: column; 
}

.wintersale .sec.no2 .date .wrapper .information {
    font-size: 16px;
    text-align: center;
    line-height: 27px;
    margin-top: 3px;
}

.wintersale .sec.no2 .date .wrapper .information span {
    color: #148ECC;
}

.wintersale .popup {
    text-align: center;
}

.wintersale .popup button {
    background: none;
    border: none;
    border-bottom: 1px solid #3E3E3E;
}


/* 検索 */

.wintersale .search__area--q4 .search__area--car_type dd label span span {
    width: 100%;
    line-height: normal;
}

.wintersale .legacySearch__balloon--option .search__area--car_state dd {
    height: 52px;
    font-weight: 500;
}

.wintersale .legacySearch__modal#below .legacySearch__balloon--inner::before{
    bottom: auto;
    top: -10px;
    border: 11px solid transparent;
    border-bottom-color: #fff;
    border-top-width: 0;
}

.wintersale .legacySearch__modal#below .legacySearch__balloon--inner::after {
    top: -11px;
}

.wintersale  .select__area label span:hover{
    background: #EAF7FF;
}

.wintersale .wintersale_search .title {
    font-size: 20px;
    color: #3E3E3E;
    text-align: center;
    font-weight: bold;
    position: relative;
    display: block;
}

.wintersale .wintersale_search .title span {
    color: #E65C8C;
}

.wintersale .wintersale_search .title::before {
    position: absolute;
    left: 205px;
    top: 11px;
    content: "";
    width: 2px;
    height: 21px;
    background: #3E3E3E;
    border-radius: 3px;
    transform: rotate(-25deg);
}

.wintersale .wintersale_search .title::after {
    position: absolute;
    right: 215px;
    top: 11px;
    content: "";
    width: 2px;
    height: 21px;
    background: #3E3E3E;
    border-radius: 3px;
    transform: rotate(25deg);
}
.wintersale .wintersale_search {
    padding-top: 52px;
    height: 150px;
}

.wintersale .wintersale_searchbox {
    position: relative;
    transform: initial;
    bottom: initial;
    left: initial;
    top: 702px;
}

.wintersale .legacySearch__area {
    bottom: -20px;
    border: 1px solid #a2a2a2;
    border-radius: 16px;
}

.wintersale .legacySearch__area .legacySearch--datepicker > span {
    width: calc(100% - 7px);
    padding: 0 0 0 3px;
    font-family: 'Roboto', sans-serif;
    font-size: 75.7%;
    font-weight: bold;
    background-size: 18px auto;
}

.wintersale .carousel1,.wintersale .carousel3 {
    margin-top: 70px;
    position: relative;
}

/* 雪装飾 */
.icon_yuki1, .icon_yuki2, .icon_yuki3, .icon_yuki4, .icon_yuki5, .icon_yuki6 {
    position: absolute;
}

.icon_yuki1 img, .icon_yuki2 img, .icon_yuki3 img, .icon_yuki4 img, .icon_yuki5 img, .icon_yuki6 img {
    width:75% ;
}

.icon_yuki1 {
    right: 77%;
    bottom: -99px;
    transform: translateX(-50%);
}

.icon_yuki2 {
    left: 86%;
    bottom: -349px;
    transform: translateX(-50%);
}

.wintersale .deco {
    position: absolute;
    left: 90%;
    top: 156px;
    transform: translateX(-50%);
}

.wintersale .deco img {
    width:79% ;
}

.icon_yuki3 {
    right: 76%;
    top: 171px;
    transform: translateX(-50%);
}

.icon_yuki4 {
    left: 87%;
    bottom: 57px;
    transform: translateX(-50%);
}

.wintersale .pic8 {
    position: absolute;
    right: 67%;
    bottom: -23px;
    transform: translateX(-50%);
}

.wintersale .pic8 img {
    width:100% ;
}

.icon_yuki5 {
    right: 82%;
    top: 163px;
}

.wintersale .pic9 {
    position: absolute;
    left: 81%;
    top: 129px;
}

.wintersale .pic9 img {
    width:88% ;
}

.icon_yuki6 {
    left: 88%;
    bottom: -18px;
}

.wintersale .pic10 {
    position: absolute;
    right: 67%;
    bottom: -23px;
    transform: translateX(-50%);
}

.wintersale .pic10 img {
    width:100% ;
}


.tabs {
    display: flex;
    gap: 5px;
    justify-content: center;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


.tab {
    /* padding: 10px 20px; */
    background-color: #DBDBDB;
    cursor: pointer;
    border: none;
    color: #6E6E6E;
    font-size: 26px;
    width: 195px;
    height: 70px;
    font-weight: bold;
    border-radius: 30px 30px 0 0;
    font-family: serif;
    font-weight: 800;

}
.tab.active {
    background-color: #EAF4F9;
    border: none;
    color: #3492C4;
    font-size: 26px;
    font-weight: 800;
}
.tab-content .content {
    display: none;
}
.tab-content .content.active {
    display: block;
    position: relative;
}
.swiper-container-wrapper {
    width: 100%;
    max-width: 730px;
    margin: 0 auto;
    overflow: hidden;
    background: #EAF4F9;
    padding: 50px 145px 30px 120px;
    border-radius: 30px;
}

.container01 { background: #EAF4F9 !important;}
.container02 { background: #fae3ff !important;}
.container03 { background: #ffdede !important;}
.container04 { background: #fce6ed !important;}

.container01 { background: #EAF4F9 !important;}
.carousel1 .container02 { 
    padding: 50px 318px 30px 8px;
    max-width: 610px;
}
.carousel1 .container03 {     
    padding: 50px 318px 30px 8px;
    max-width: 610px;
}
.carousel1 .container04 {
    padding: 50px 318px 30px 8px;
    max-width: 610px;
}

.carousel3 .container04 {
    padding: 50px 318px 30px 8px;
    max-width: 610px;
}

.swiper-container {
    width: 100%;
    overflow: visible;
    margin-bottom: 10px;
}

.carousel1 .container02 .swiper-container {
    width: 100%;
    overflow: visible;
    margin-bottom: 10px;
}

.carousel1 .container03 .swiper-container {
    width: 100%;
    overflow: visible;
    margin-bottom: 10px;
}

.carousel1 .container04 .swiper-container {
    width: 100%;
    overflow: visible;
    margin-bottom: 10px;
}
.swiper-wrapper {
    width: 100%;
}
.swiper-slide {
    display: flex;
    /* align-items: center;
    justify-content: center; */
    font-size: 20px;
    width: 233px !important;
    height: 395px;
}

.swiper-button-next,
.swiper-button-prev {
    top: 50%;
    transform: translateY(-50%);
    color: #333;
    background: #fff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    background-color: #fff;
    border-radius: 50%;
    color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5)
}

.swiper-button-next::after,
.swiper-button-prev::after {
    color: #3E3E3E;
    font-size: 14px;
}

.swiper-button-next {
    right: -20px; /* 必要に応じて位置を調整 */
}

.swiper-button-prev {
    left: -20px; /* 必要に応じて位置を調整 */
}  

.swiper-pagination-bullet {
    background-color: #333;
    opacity: 0.7;
  }
  
.swiper-pagination-bullet-active {
    background-color: #007aff; /* アクティブなドットの色 */
    opacity: 1;
 }

.carousel1 [data-tab="2"] .swiper-pagination-bullet-active{
    background-color: #B365C1; 
 }
 .carousel1 [data-tab="3"] .swiper-pagination-bullet-active{
    background-color: #C43A3A; 
 }
 .carousel1 [data-tab="4"] .swiper-pagination-bullet-active{
    background-color: #E65C8C; 
 }

 .carousel3 [data-tab="2"] .swiper-pagination-bullet-active{
    background-color: #B365C1; 
 }
 .carousel3 [data-tab="3"] .swiper-pagination-bullet-active{
    background-color: #C43A3A; 
 }
 .carousel3 [data-tab="4"] .swiper-pagination-bullet-active{
    background-color: #E65C8C; 
 }


 .carousel2 [data-tab="2"] .swiper-pagination-bullet-active{
    background-color: #C43A3A; 
 }

 .wintersale .swiper-pagination {
    margin-top: 10px;
  } 

  .wintersale .swiper-pagination {
    position: initial;
}

.wintersale .swiper-slide .item {
    width: 100%;
    background: #EAF4F9;
    border-radius: 20px 20px 20px 20px;
}

.wintersale .swiper-slide .item .top {
    background: #F2F8FB;
    /* padding: 15px; */
    position: relative;
    /* margin-bottom: 5%; */
    display: flex;
    align-items: center;
    justify-content: center;
    height: 84px;
    border-radius: 20px 20px 0 0;
    height: 84px;
    flex-direction: column;
}


.wintersale .swiper-slide .item .top svg {
    position: absolute;
    top: 83px;
}

.wintersale .swiper-slide .item .top img {
    width: 40px;
    object-fit: contain;
}


.wintersale .swiper-slide .item .top .logoname {
    font-size: 14px;
    line-height: 29px;
}

.wintersale .swiper-slide .item .down {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 20px;
}

.wintersale .swiper-slide .item .down img {
    width: 208px;
    height: 120px;
    object-fit: contain;
    margin-top: 35px;
}

.wintersale .swiper-slide .item .down p:nth-child(2) {
    font-size: 12px;
}

.wintersale .swiper-slide .item .down p:nth-child(3) {
    font-size: 16px;
}

.wintersale .swiper-slide .item .down p:nth-child(4) {
    font-size: 14px;
    font-weight: bold;
    line-height: 16px;
    margin-top: 13px;
}

.wintersale .swiper-slide .item .down p:nth-child(4) span {
    font-size: 18px;
    height: 30px;
}

.wintersale .triangle {
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.wintersale .btn {
    margin: 0 auto;
    margin-top: 10px;
    display: flex;
    justify-content: center;
}

.wintersale .btn a {
    background: #3492C4;
    color: #fff !important;
    position: relative;
    font-size: 12px;
    display: inline-block;
    border-radius: 40px;
    font-weight: bold;
    width: 160px;
    height: 37px;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wintersale .container01 .btn a {
    background: #3492C4;
}

.wintersale .container02 .btn a {
    background: #B365C1;
}

.wintersale .container03 .btn a {
    background: #C43A3A;
}

.wintersale .container04 .btn a {
    background: #E65C8C;
}

.wintersale .btn.bl2 a {
    width: 340px;
    height: 60px;
    font-size: 16px;
    background-color: #314464 !important;
} 

.carousel1 .container02 .btn.bl2 a {
    margin-top: 30px;
    margin-left: 288px;
} 

.carousel1 .container03 .btn.bl2 a {
    margin-top: 30px;
    margin-left: 288px;
} 

.carousel1 .container04 .btn.bl2 a {
    margin-top: 30px;
    margin-left: 288px;
} 

.carousel3 .container04 .btn.bl2 a {
    margin-top: 30px;
    margin-left: 288px;
} 

/* ポップアップのスタイル */
.popup_detail {
    display: none; /* 初期状態では非表示 */
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    padding: 20px;
    background-color: white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    z-index: 1000;
}
.wintersale .popup_detail.active {
    display: block; 
    width: 800px;
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
}
.overlay.active {
    display: block;
}  

.wintersale .sec.no2 .popup .wrapper {
    padding: 40px 0px;
}
  
.wintersale .popup .list .unit {
    display: flex;
    margin-top: 50px;
    justify-content: space-between;
}

.wintersale .popup #close-popup {
    position: absolute;
    width: 30px;
    height: 30px;
    cursor: pointer;
    top: 0;
    right: 0;
    border-bottom: none;
}

.wintersale .popup #close-popup::before,.wintersale .popup #close-popup::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 1px;
    background-color: black;
    transform-origin: center;
}

.wintersale .popup #close-popup::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.wintersale .popup #close-popup::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.wintersale .popup .list .unit .item {
    display: flex;
    flex-direction: column;
    align-items: center;
}


.wintersale .popup .list .unit .item img {
    width: 233px;
    height: auto;
    /* object-fit: cover; */
    border-radius: 10px;
    border: 2px solid #e0dadc;
}

.wintersale .popup .list .unit .item p:nth-child(2) {
    margin-top: 10px;
    font-size: 14px;
    color: #E65C8C;
    font-weight: bold;
    line-height: 22px;
}

.wintersale .popup .list .unit .item p:nth-child(3) {
    width: 210px;
    line-height: 22px;
    margin-top: 10px;
}

.wintersale .popup .wrapper .title p {
    font-size: 35px;
    border-bottom: none;
    background: linear-gradient(transparent 50%, #FFEFF4 50%);
    padding-bottom: 0.3em;
    /* margin-top: 50px; */
}

.btn::after,.btn::before, .btn::after {
    display: none;
}

.wintersale .sec.no3 {
    position: relative;
    padding-top: 60px;
    margin-bottom: 100px;
}

.wintersale .deco2 {
    position: absolute;
    top: 136px;
    left: 74%;
}

.wintersale .deco2 img {
    width: 98%;
}
/* sec3 */

.wintersale .sec.no3 .title p,.wintersale .sec.no5 .title p {
    color: #148ECC;
    border-bottom: #87B215;
}
    
.wintersale .carousel2 .tab.active {
    background: #EAF4F9;
}

.carousel1 .tab.active[data-tab="2"] {
    color: #B365C1;
    background: #fae3ff;
}

.carousel1 .tab.active[data-tab="3"] {
    color: #C43A3A;
    background: #ffdede;
}

.carousel1 .tab.active[data-tab="4"] {
    color: #E65C8C;
    background: #fce6ed;
}

.carousel3 .tab.active[data-tab="2"] {
    color: #B365C1;
    background: #fae3ff;
}

.carousel3 .tab.active[data-tab="3"] {
    color: #C43A3A;
    background: #ffdede;
}

.carousel3 .tab.active[data-tab="4"] {
    color: #E65C8C;
    background: #fce6ed;
}


.carousel2 .tab.active[data-tab="2"] {
    color: #C43A3A;
    background: #F9EBEB;
}

.wintersale .carousel2 .swiper-container-wrapper {
    background: #EAF4F9;
    padding: 50px 50px;
}

.carousel2 .swiper-container {
    overflow: hidden;
    width: 100%;
}

.carousel2 .swiper-wrapper {
    display: flex;
    justify-content: flex-start;
}

.carousel2 .swiper-slide {
    width: calc(25% - 17.25px) !important;
}

.wintersale .sec.no3 .swiper-slide .item .top {
    background: none;
    display: block;
    height: auto;
}

.wintersale .sec.no3  .swiper-slide .item {
    background: #fff;
}

.wintersale .sec.no3 .swiper-slide {
    background: #fff;
    height: auto;
    border-radius: 10px;
}

.wintersale .sec.no3 .swiper-slide .item .top img {
    width: 100%;
    height: 155px;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
}

.wintersale .sec.no3 .swiper-slide .item .down {
    align-items: flex-start;
    height: 244px;
    display: flex;
    flex-direction: column; /* テキストを縦に並べる */
    justify-content: space-around; /* 縦方向に中央揃え */
}

.wintersale .sec.no3 .container01 .swiper-slide .item .down p:nth-child(1) {
    font-size: 14px;
    color: #3492C4;
    line-height: 22px;
    font-weight: bold;
    height: 40px;

}

.wintersale .sec.no3 .container02 .swiper-slide .item .down p:nth-child(1) {
    font-size: 14px;
    color: #B365C1;
    line-height: 22px;
    font-weight: bold;
    height: 40px;
}

.wintersale .sec.no3 .container03 .swiper-slide .item .down p:nth-child(1) {
    font-size: 14px;
    color: #C43A3A;
    line-height: 22px;
    font-weight: bold;
    height: 40px;
}

.wintersale .sec.no3 .container04 .swiper-slide .item .down p:nth-child(1) {
    font-size: 14px;
    color: #E65C8C;
    line-height: 22px;
    font-weight: bold;
    height: 40px;
}

.wintersale .sec.no3 .swiper-slide .item .down p:nth-child(2) {
    font-size: 13px;
    color: #3E3E3E;
    line-height: 21px;
    height: 121px;
    display: flex;
    justify-content: center;    /* 横方向中央 */
    align-items: center; 
    margin-bottom: 5px;
}

.wintersale .sec.no3  .swiper-slide .item .down {
    padding: 2px 8px 10px;
}

.wintersale .sec.no3 .swiper-button-next {
    right: 110px;
}

.wintersale .sec.no3 .swiper-button-prev {
    left: 110px;
}

@media screen and (min-width: 1300px) {
    .wintersale .sec.no3 .swiper-button-next {
        transform: translateX(-340%);
    }
    .wintersale .sec.no3 .swiper-button-prev {
        transform: translateX(340%);
    }
}

/* Pagination間隔を15pxに設定 */
.swiper-pagination-bullet {
    margin: 0 7.5px !important; 
    background-color: #DBDBDB; 
    opacity: 1; 
    width: 8px; 
    height: 8px; 
    transition: background-color 0.3s ease; 
}
  
  /* 選ばれているPaginationの色 */
  .swiper-pagination-bullet-active {
    background-color: #3492C4; /* 選ばれている色 */
}

.wintersale .sec.no4 {
    background-color: #d4eefc;
    padding-top: 60px;
    margin-top: 100px;
    padding-bottom: 110px;
    position: relative;
}

.wintersale .sec.no4 .spot {
    max-width: 1000px;
    margin: 0 auto;
    margin-top: 80px;
}

.wintersale .sec.no4 .spot .wrapper {
    display: grid;
    gap: 20px; /* 要素間のスペース */
    grid-template-columns: repeat(3, 1fr); /* 3列構成 */
}

.wintersale .sec.no4 .spot .wrapper .item {
    flex: 1 0 calc(33.333% - 20px); 
    box-sizing: border-box; 
    padding: 10px;
    background: #fff;
    text-align: center;
    position: relative;
    border-radius: 10px;
    text-align: center;
}

.wintersale .sec.no4 .spot .wrapper .item:nth-child(n+4) {
    margin-top: 60px;
}

.wintersale .sec.no4 .spot .wrapper .item p {
    line-height: 22px;
    margin-top: 10px;
    text-align: left;
}

.wintersale .sec.no4 .spot .wrapper .text {
    height: 67px;
    margin-bottom: 10px;
}

  /* 4列目以降を新しい段に押し込む */
  .wintersale .sec.no4 .spot .wrapper .item:nth-child(3n+1) {
    clear: left;
}

.wintersale .sec.no4 .spot .wrapper .item img {
    width: 280px;
    height: 186px;
    object-fit: cover;
    position: relative;
    z-index: 30;
    margin-top: 27px;
}

.wintersale .sec.no4 .spot .wrapper .item .circle {
    background: url(/activity/special/wintersale/images/circle.png);
    background-size: cover;
    background-position: center;
    overflow: hidden;
    width: 170px;
    height: 170px;
    object-fit: contain;
    position: absolute;
    top: -49px;
    right: 23%;
    display: flex;
    justify-content: center;
    padding-top: 15px;
    z-index: 20;
    font-size: 23px;
    line-height: 30px;
    font-weight: bold;
}

.wintersale .sec.no4 .spot .wrapper .item:nth-child(4) .circle {
    right: 50%;
    transform: translateX(50%); /* 真ん中に正確に配置するために追加 */
}

.wintersale .sec.no4 .spot .wrapper .item:nth-child(5) .circle {
    right: 50%;
    transform: translateX(50%); /* 同様に真ん中に配置 */
}

.wintersale .bluec {
    color: #3492C4;
}

.wintersale .greenc{
    color: #45B132;
}

.wintersale .brownc {
    color: #A86F13;
}

.wintersale .orangec {
    color: #F08100;
}

.wintersale .purplec {
    color: #B365C1;
}

.wintersale .redc {
    color: #C43A3A;
}

.wintersale .sb .bluec {
    background: #3492C4;
}
.wintersale .sb .greenc {
    background: #45B132;
}
.wintersale .sb .brownc {
    background: #A86F13;
}
.wintersale .sb .orangec {
    background: #F08100;
}
.wintersale .sb .purplec {
    background: #B365C1;
}
.wintersale .sb .redc {
    background: #C43A3A;
}

.wintersale .btn.pnk {
    margin: 0 auto;
    margin-top: 50px;
    display: flex;
    justify-content: center;
}

.wintersale .btn.pnk a {
    width: 340px;
    height: 60px;
    font-size: 16px;
    background: #E65C8C; 
}


/* no-loop のときは複製されないように固定幅 */
.swiper-container.no-loop .swiper-wrapper {
  width: auto !important;
  display: flex;
  justify-content: center;
}

.swiper-container.no-loop .swiper-slide {
  width: 240px !important; /* カード幅（調整OK） */
  flex-shrink: 0;
}

/* ページネーション・矢印は非ループ時に消す場合 */
.swiper-container.no-loop .swiper-pagination,
.swiper-container.no-loop .swiper-button-next,
.swiper-container.no-loop .swiper-button-prev {
  display: none;
}

/* 1〜3枚のときは中央寄せ */
.swiper-container.no-loop .swiper-wrapper {
  justify-content: center;
  gap: 0px;
}

/* 横幅は PC デザインに合わせて調整可 */
.swiper-container.no-loop .swiper-slide {
  width: 280px !important;
}

/* 2枚以下でも中央に寄る */
.swiper-container.no-loop .swiper-slide:nth-child(n+4) {
  display: none; /* 念のため保険：4枚目以降は存在しても非表示 */
}

/* no-loop（＝複製したくない）時は複製スライドを隠す */
.swiper-container.no-loop .swiper-slide-duplicate,
.swiper-container.no-loop .swiper-slide-duplicate-prev,
.swiper-container.no-loop .swiper-slide-duplicate-next {
  display: none !important;
}



/* sec5 */
.wintersale .sec.no5 {
    position: relative;
    padding-top: 60px;
}

.wintersale .deco4 {
    position: absolute;
    top: -80px;
    left: 90px;
}

.wintersale .btn.grn {
    margin-top: 50px;
    padding: 0;
}

.wintersale .btn.grn a {
    width: 340px;
    height: 60px;
    background: #87B215;
    font-size: 16px;
}

.wintersale .sec.no5 .detail {
    max-width: 676px;
    margin: 0 auto; 
}

.wintersale .sec.no5 .introduction {
    margin-top: 50px;
}

.wintersale .sec.no5 .detail .content {
    background: #F8F6E9;
    padding: 30px 40px;
    margin-top: 30px;
    border-radius: 30px;
}

.wintersale .sec.no5 .detail .content .wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wintersale .sec.no5 .detail .content .wrapper .left {
    width: 48%;
    margin-top: 10px;
}

.wintersale .sec.no5 .detail .content .wrapper .right {
    width: 48%;
}

.wintersale .sec.no5 .detail .content .wrapper .left .item {
    font-size: 21px;
    line-height: 50px;
    color: #3E3E3E;
    font-weight: bold;
}

.wintersale .sec.no5 .detail .content .wrapper .left .item p span {
    color: #87B215;
}

.wintersale .sec.no5 .detail .content .wrapper .left .item .border {
    border-top: 1px dotted #B2AE91; 
    margin-top: 10px; 
    margin-bottom: 10px;
}

.wintersale .sec.no5 .detail .content .wrapper .right .com {
    display: flex    ;
    align-items: center;
    justify-content: center;
}

.wintersale .sec.no5 .detail .content .wrapper .right .com p {
    font-size: 14px;
    font-weight: bold;
}

.wintersale .sec.no5 .detail .content .wrapper .right .com .border {
    content: "";
    display: inline-block;
    width: calc(100% - 140px);
    height: 1px;
    margin-left: 8px;
    border-top: 1px dotted #B2AE91;
    vertical-align: middle;
}

.wintersale .sec.no5 .detail .content .wrapper .right .unit {
    display: flex;
    flex-wrap: wrap; /* 要素を折り返す */
    gap: 16px; 
}


.wintersale .sec.no5 .detail .content .wrapper .right .unit img {
    flex: 0 0 calc(33.333% - 12px);
    max-width: 100%;
    height: auto;
    width: 100%;
}

.wintersale .sec.no5 .note {
    line-height: 22px;
    margin-top: 30px;
    font-size: 12px;
}

.wintersale .sec.no5 .note .title {
    font-size: 14px;
    color: #000;
    align-items: baseline;
}

.wintersale .sec.no5 .note + .border {
    content: "";
    /* display: inline-block; */
    width: 100%;
    height: 1px;
    border-top: 1px dotted #B2AE91;
    /* vertical-align: middle; */
    margin-top: 30px;
}


.wintersale .blbtn_top {
    margin-top: 100px;
    margin-bottom: 70px;
    text-align: center;
}

.wintersale .blbtn_top a {
    background: #003894;
    color: #fff !important;
    padding: 8px 180px 8px 15px;
    position: relative;
    text-decoration: none !important;
    font-size: 18px;
    text-align: left;
    display: inline-block;
}

.wintersale .blbtn_top a::after {
    content: "";
    width: 12px;
    height: 12px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    right: 5%;
    margin-top: -8px;
    transform: rotate(45deg);
}


/* 色毎 */
/* kyushu  */
.wintersale .kyushuc {
    color: #B365C1 !important;
}

.wintersale .kyushub {
    background: #FAF5FB !important;
}

.wintersale .kyushub2 {
    background: #F7EFF9 !important;
}

.wintersale .kyushub3 {
    background: #B365C1 !important;
}

/* okinawa */
.wintersale .okinawac {
    color: #C43A3A !important;
}

.wintersale .okinawab {
    background: #FBF3F3 !important;
}

.wintersale .okinawab2 {
    background: #F9EBEB !important;
}

.wintersale .okinawab3 {
    background: #C43A3A !important;
}

/* sonota */
.wintersale .sonotac {
    color: #E65C8C !important;
}

.wintersale .sonotab {
    background: #FFF5F8 !important;
}

.wintersale .sonotab2 {
    background: #FFEFF4 !important;
}

.wintersale .sonotab3 {
    background: #E65C8C !important;
}

/* エリアから探す */
.tab-wrap h2 {
    display: flex;
    color: #fff;
    font-size: 37px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto;
    background:none;
    background-color: #005B7A;
    border-radius: 20px 20px 0 0;
    justify-content: center;
    align-items: center;
    width: 666px;
    height: 62px; 
    clip-path: none;
    margin-top: 210px;
    position: sticky;
    padding: 10px 0;
}

.tab-wrap h2 img { 
    width: 45px;
    height: 45px;
    margin-right: 12px;
    margin-left: -10px;
}

.tab-menu {
  display: flex;
  justify-content: center;
    margin-bottom: 100px;
    list-style: none;
  top: 0;
}

.tab-item {
    padding: 10px 119px;
    background: #eee;
    cursor: pointer;
    font-weight: bold;
    font-size: xx-large;
    color: #70767F;
    border-bottom: 4px solid #BEB9B9;
}

.tab-item.active {
    background: #C4E2FC;
    color: #0e76b9;
    border-bottom: 4px solid #0e76b9;
}

.tab-item.active:nth-child(2) {
    background: #DBFDFF;
    color: #0E76B9;
    border-bottom: 4px solid #0E76B9;
}

.tab-content01 {
  display: none;
}

.tab-content01.active {
    display: block;
    margin-top: -462px;
    padding-top: 353px;
    padding-bottom: 77px;
}

.tab-content01.active:nth-child(2) {
    margin-top: -462px;
    padding-top: 353px;
    padding-bottom: 77px;
}

.oki_map, .hok_map {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    background-color:#DBFDFF ;
}

.hok_map {
    background-color:#C4E2FC ;
}

.oki_map, .hok_map{
    max-width: 667px;
    border-radius: 0 0 40px 40px;
}

/* マップ沖縄 */
.oki_map .search__map_okinawa {
position: relative;
    padding-left: 10px;
    padding-top: 53px;
}

.oki_map .search__map_okinawa img {
    padding-bottom: 50px;
    max-width: -webkit-fill-available;
    width: 95%;
}
.oki_map .search__map_okinawa a {
padding: 1px 33px 2px 17px;
background-color: #2B3641;
color: #fff;
text-decoration: none;
border-radius: 30px;
position: absolute;
font-size: 15px;
}
.oki_map .search__map_okinawa a::after{
content: '';
width: 6px;
height: 6px;
border: 0px;
border-top: solid 2px #fff;
border-right: solid 2px #fff;
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
top: 50%;
margin-top: -4px;
margin-left: 5px;
}

.oki_map .search__map_okinawa a:hover {
    background-color:#0E76B9 ;
}


.oki_map .search__map_okinawa .ishigaki_link {top: 60px;left: 42px;}
.oki_map .search__map_okinawa .iriomote_link {top: 174px;left: 27px;}
.oki_map .search__map_okinawa .miyako_link {top: 302px;left: 55px;}
.oki_map .search__map_okinawa .kume_link {top: 458px;left: 57px;}
.oki_map .search__map_okinawa .minna_link {top: 145px;left: 207px;}
.oki_map .search__map_okinawa .onna_link {top: 201px;left: 328px;}
.oki_map .search__map_okinawa .kerama_link {top: 466px;left: 213px;}
.oki_map .search__map_okinawa .yanbaru_link {top: 41px;right: 102px;}
.oki_map .search__map_okinawa .nago_link {top: 233px;right: 12px;}
.oki_map .search__map_okinawa .middle_link {top: 350px;right: 3px;}
.oki_map .search__map_okinawa .south_link {top: 434px;right: 97px;}
.oki_map .search__map_okinawa a span {font-size: 13px;}
.oki_map .search__map_okinawa .search__map_toplink {background-color: transparent; color: #003894; bottom: 0; right: -30px;}
.oki_map .search__map_okinawa .search__map_toplink::after {display: none;}

.hok_map .search__map_hokkaido {
position: relative;
text-align: center;
margin-bottom: 10px;
}

.hok_map .search__map_hokkaido img {
padding-bottom: 90px;
    padding-top: 50px;
    max-width: -webkit-fill-available;
    width: 78%;
}

.hok_map .search__map_hokkaido.a_hokkaido a {
padding: 1px 32px 1px 17px;
background-color: #2B3641;
color: #fff;
text-decoration: none;
border-radius: 30px;
position: absolute;
font-size: 15px;
}
.hok_map .search__map_hokkaido.a_hokkaido a::after{
content: '';
width: 6px;
height: 6px;
border: 0px;
border-top: solid 2px #fff;
border-right: solid 2px #fff;
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
top: 50%;
margin-top: -4px;
margin-left: 5px;
}

.hok_map .search__map_hokkaido.a_hokkaido a:hover {
    background-color: #0E76B9;
}
.hok_map .search__map_hokkaido.a_hokkaido .sapporo_link {top: 163px;left: 104px;}
.hok_map .search__map_hokkaido.a_hokkaido .otaru_link {top: 214px;left: 18px;}
.hok_map .search__map_hokkaido.a_hokkaido .niseko_link {top: 297px;left: 31px;}
.hok_map .search__map_hokkaido.a_hokkaido .hakodate_link {top: 403px;left: 31px;}
.hok_map .search__map_hokkaido.a_hokkaido .noboribetsu_link {top: 412px;left: 283px;}
.hok_map .search__map_hokkaido.a_hokkaido .asahikawa_link {top: 67px;right: 256px;}
.hok_map .search__map_hokkaido.a_hokkaido .abashiri_link {top: 122px;right: 135px;}
.hok_map .search__map_hokkaido.a_hokkaido .kushiro_link {top: 232px;right: 30px;}
.hok_map .search__map_hokkaido.a_hokkaido .tokachi_link {top: 304px;right: 78px;}
.hok_map .search__map_hokkaido.a_hokkaido .furano_link {top: 359px;right: 90px;}
.hok_map .search__map_hokkaido.a_hokkaido .hidaka_link {top: 462px;right: 320px;}
.hok_map .search__map_hokkaido.a_hokkaido a span {font-size: 17px;}
.hok_map .search__map_hokkaido.a_hokkaido .search__map_toplink {background-color: transparent; color: #003894; bottom: -35px; right: -6px;}
.hok_map .search__map_hokkaido.a_hokkaido .search__map_toplink::after {display: none;}


/* RCバナー遷移CSS */
.rc_bnr {
    text-align: center;
    margin-top: 55px;
    margin-bottom: -30px;
}

.rc_bnr p {
    width: 100%;
    margin: 0 auto 16px;
    padding-bottom: 6px;
    font-size: 1.65em;
    color: #3e3e3e;
    font-weight: bold;
    text-align: center;
    line-height: 37px;
}

.rc_bnr img {
    width: 430px;
}



/* 検索窓修正 */
/* .wintersale .legacySearch__area .legacySearch--datepicker > span {
    font-size: 14px;
} */