@charset "utf-8";
.special .sec_contents {
    max-width: min(calc(1040 / var(--vw-min) * 100vw),1040px);
}
.header__navBtn{
    background-color: var(--color-purple);
}
.ttl_jp {
    color:  var(--color-purple);
}
.sub_siteTtl .siteTtl__img {
    background-color: var(--color-purple);
}
.sub .sec_contents{
    padding-right: 0;
    padding-left: 0;
}
@media screen and (max-width:1200px){
    .sub .sec_contents{
        padding-right: 0;
        padding-left: 0;
    }
}
/*-----------------------------------------------
 * SPECIAL
-------------------------------------------------*/
/* cate tab */
.linkLists{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom:min(calc(66 / var(--vw-min) * 100vw),66px);
    position: relative;
    flex-wrap: wrap;
    max-width: min(calc(794 / var(--vw-min) * 100vw),794px);
    margin: 0 auto min(calc(50 / var(--vw-min) * 100vw),50px);
}
.linkLists::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
  height: min(calc(10 / var(--vw-min) * 100vw),10px);
  width:  min(calc(226 / var(--vw-min) * 100vw),226px);
  -webkit-mask: url(../img/deco/line_dot.png) no-repeat center center / contain;
  mask: url(../img/deco/line_dot.png) no-repeat center center / contain;
  background-color: var(--color-purple);
}
@media screen and (min-width:768px){
  .linkItem:not(:last-child){
    margin-right: min(calc(20 / var(--vw-min) * 100vw),20px);
  }
  .linkItem:nth-child(n+4){
    margin-top:min(calc(20 / var(--vw-min) * 100vw),20px);
  }

}
.linkItem__link{
    display: flex;
    padding: 0 min(calc(16 / var(--vw-min) * 100vw),16px);
    width: min(calc(240 / var(--vw-min) * 100vw),240px);
    height: min(calc(50 / var(--vw-min) * 100vw),50px);
    background-color: var(--color-main);
    text-decoration: none;
    align-items: center;
    justify-content: center;
    border-radius: min(calc(50 / var(--vw-min) * 100vw),50px);
    font-size: min(calc(18 / var(--vw-min) * 100vw),18px);
    position: relative;
}
@media screen and (hover:hover) and (pointer: fine){
  .linkItem__link{
    transition: all .4s ease;
  }
  .linkItem__link:hover{
    background-color: var(--color-pink);
  }
}
.linkItem__link .arrowBtn{
    position: absolute;
    right: min(calc(16 / var(--vw-min) * 100vw),16px);
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .linkLists{
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: calc(50 / var(--vw-min) * 100vw);
    padding-bottom:calc(100 / var(--vw-min) * 100vw);
  }
  .linkItem:not(:last-child),
  .linkItem{
    margin-right:0;
  }
  .linkItem:nth-child(n+3){
    margin-top:calc(24 / var(--vw-min) * 100vw);
  }
  .linkItem__link{
    display: flex;
    padding: 0 min(calc(16 / var(--vw-min) * 100vw),16px);
    width: calc(310 / var(--vw-min) * 100vw);
    height: calc(86 / var(--vw-min) * 100vw);
    border-radius: min(calc(50 / var(--vw-min) * 100vw),50px);
    font-size:calc(26 / var(--vw-min) * 100vw);;
  }
}

/*---------------
INDEX
---------------*/
/* specialLists */
.specialLists {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: min(calc(794 / var(--vw-min) * 100vw),794px);
  margin: 0 auto;
}
.specialItem {
  margin-bottom: 56px;
  width: calc((100% - min(calc(20 / var(--vw-min) * 100vw), 20px)) / 2);
}
  @media screen and (max-width: 767px) {
    .specialItem {
      width: 100%;
      margin-bottom: calc(48 / var(--vw-min) * 100vw);
    }
  }
.specialItem__link{
  text-decoration: none;
}

/* img */
.item_imgWrap{
  position: relative;
  margin-bottom: min(calc(12 / var(--vw-min) * 100vw),12px);
}
.item_imgWrap::after {
  background: var(--color-main);
  position: absolute;
  content: "";
  bottom: max(calc(-8 / var(--vw-min) * 100vw), -8px);
  right: max(calc(-8 / var(--vw-min) * 100vw), -8px);
  margin: auto;
  height: 100%;
  width: 100%;
  display: block;
  z-index: -1;
  pointer-events: none;
  border-radius: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.item_img {
  width:100%;
  height: min(calc(217 / var(--vw-min) * 100vw),217px);
  border-radius: min(calc(20 / var(--vw-min) * 100vw),20px);
  overflow: hidden;
  position: relative;
}
.item_img img {
  width:100%;
  height:100%;
  object-fit: cover;
}
  @media screen and (max-width: 767px) {
    .item_img {
      width:  calc(646 / var(--vw-min) * 100vw);
      height: calc(364 / var(--vw-min) * 100vw);

      margin-bottom: calc(32 / var(--vw-min) * 100vw);
    }
  }

/* hover */
@media screen and (hover:hover) and (pointer: fine){
    .specialItem{
        transition: transform .4s ease;
    }
    .specialItem:hover{
        transform: translateY(-8px);    
    }
    .specialItem .item_img img{
        transition: transform .4s ease;
    }
    .specialItem:hover .item_img img{
        transform: scale(1.05);
    }
}

/* title */
  .item_title {
    display: block;
    font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
    line-height: calc(38 / 20);
    letter-spacing: 0.01em;
    margin-top: min(calc(12 / var(--vw-min) * 100vw), 12px);
    text-align: center;
    font-weight: 700;
  }  
  @media screen and (max-width: 767px) {
    .item_title {
      font-size: calc(34 / var(--vw-min) * 100vw);
      margin-top: calc(20 / var(--vw-min) * 100vw);
    }
  }

  
/*---------------
DETAIL
---------------*/
/*specialCont*/
.specialCont{
  position: relative;
}
.specialArticle{
  border-radius: 20px;
  background-color: #FFF;
  overflow: hidden;
}
.specialArticle::before {
    border-radius: min(calc(20 / var(--vw-min) * 100vw), 20px);
    transition: none;
    background-color: var(--color-purple);
    height: 100%;
    width: 100%;
    content: "";
    position: absolute;
    z-index: -1;
    right: -10px;
    bottom: -10px;
}
.detail_headBlock {
  position: relative;
    background:none;
    padding: min(calc(74 / var(--vw-min) * 100vw), 74px) min(calc(80 / var(--vw-min) * 100vw), 80px);
}
.detail_headBlock::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: min(calc(6 / var(--vw-min) * 100vw),6px);
  -webkit-mask: url(../img/common/line.png) repeat-x left bottom;
  mask: url(../img/common/line.png) repeat-x left bottom;
   mask-size: auto 100%;
   background-color: var(--color-purple);
}

@media screen and (max-width: 767px) {
  .detail_headBlock {
    padding: calc(96 / var(--vw-min) * 100vw) calc(48 / var(--vw-min) * 100vw);
  }
  .detail_headBlock::after{
    -webkit-mask: url(../img/common/line_sp.png) repeat-x left bottom;
    mask: url(../img/common/line_sp.png) repeat-x left bottom;
    mask-size: auto 100%;
    height:calc(20 / var(--vw-min) * 100vw);
  }
}

.detail_textBlock {
    padding:  min(calc(60 / var(--vw-min) * 100vw), 60px) min(calc(80 / var(--vw-min) * 100vw), 80px);
    font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
    font-weight: 700;
}
.detail_textBlock img {
    display: block;
    height: auto;
    width: 100%;
    max-width: min(calc(640 / var(--vw-min) * 100vw), 640px);
    margin: calc(24 / var(--vw-min) * 100vw) auto;
}
@media screen and (max-width:767px){
  .detail_textBlock {
      padding: calc(48 / var(--vw-min) * 100vw) calc(48 / var(--vw-min) * 100vw) calc(80 / var(--vw-min) * 100vw);
      font-size:calc(24 / var(--vw-min) * 100vw);
  }
}
/* back btn */
.specialDetail__back{
  margin-top: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
.specialDetail__back .arrowBtn{
  background-color: var(--color-orange);
}
.linkBtn._back{
    width: 240px;
    height: 60px;
    margin: auto;
}
.linkBtn._back .arrowBtn._prev {
    left: 12px;
}
@media screen and (max-width:767px){
    .linkBtn._back{
        font-size: calc(30 / var(--vw-min) * 100vw);
        width: calc(440 / var(--vw-min) * 100vw);
        height: calc(100 / var(--vw-min) * 100vw);
    }
    .linkBtn._back .arrowBtn._prev {
        width: calc(48 / var(--vw-min) * 100vw);
        height: calc(48 / var(--vw-min) * 100vw);
    }
    .linkBtn._back .arrowBtn span{
        width: calc(22 / var(--vw-min) * 100vw);
        height: calc(16 / var(--vw-min) * 100vw);
    }
}

/*---------------
COUNTDOWN ILLUST
---------------*/
.ct{
  margin-bottom:min(calc(48 / var(--vw-min) * 100vw),48px);
}
@media screen and (max-width: 768px) {
  .ct{
    margin-bottom:calc(48/ var(--vw-min) * 100vw);
  }
}
.ct ul{
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.ct li{
   width: calc((100% - 3vw) / 2);
   box-sizing: border-box;
   text-align: center;
}
.ct img{
   width: 100%;
   vertical-align: bottom;
   border: 1px solid;
   border-color: var(--color-purple);
}
@media screen and (max-width: 768px) {
   .ct li{
       width: 100%;
   }
}

.ct_epTtl{
	font-size:min(calc(20 / var(--vw-min) * 100vw),20px);
	padding-bottom:min(calc(30 / var(--vw-min) * 100vw),30px);
  position: relative;
  text-align: center;
}
.ct_epTtl::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    margin: auto;
    height: min(calc(10 / var(--vw-min) * 100vw), 10px);
    width: min(calc(226 / var(--vw-min) * 100vw), 226px);
    -webkit-mask: url(../img/deco/line_dot.png) no-repeat center center / contain;
    mask: url(../img/deco/line_dot.png) no-repeat center center / contain;
    background-color: var(--color-orange);
}
@media screen and (max-width:767px){
	.ct_epTtl{
		font-size:calc(34 / var(--vw-min) * 100vw);
		margin-bottom:calc(20/ var(--vw-min) * 100vw);
    padding-bottom:calc(34 / var(--vw-min) * 100vw);
	}
  .ct_epTtl::after {
      height:calc(12 / var(--vw-min) * 100vw);
      width:calc(254 / var(--vw-min) * 100vw);
  }
}

.linkBtn._com{
  height: min(calc(40 / var(--vw-min) * 100vw),40px);
  margin: min(calc(10 / var(--vw-min) * 100vw),10px) auto 0;
  text-align: center;
  line-height: 1.3;
}
.linkBtn._com .arrowBtn{
  left: unset;
  right: min(calc(15 / var(--vw-min) * 100vw),15px);
  background-color: var(--color-green);  
}
@media screen and (max-width:767px){
  .linkBtn._com{
    width: 80%;
    height:calc(76 / var(--vw-min) * 100vw);
    margin: calc(22 / var(--vw-min) * 100vw) auto 0;
    font-size: calc(25 / var(--vw-min) * 100vw);
  }
  .linkBtn._com .arrowBtn{
    left: unset;
    right: calc(20 / var(--vw-min) * 100vw);
    width: calc(48 / var(--vw-min) * 100vw);
    height: calc(48 / var(--vw-min) * 100vw);
  }
  .comlinksp{
    margin-bottom: 0;
  }
}

/* spcom */
.spcom{
   margin-top:min(calc(40 / var(--vw-min) * 100vw),40px);
}
.spcom img{
   width: 100%;
   margin: 0;
}
@media screen and (min-width: 769px) {
  .spcom ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .spcom li{
    width: calc((100%) / 2);
    box-sizing: border-box;
  }
  .spcom li:first-child {
    width: 35%;
  }
  .spcom li:last-child{
    width: 60%;
  }
}
@media screen and (max-width: 768px) {
  .spcom{
    margin-top:calc(20/ var(--vw-min) * 100vw);
  }
  .spcom img{
    margin-bottom:calc(20/ var(--vw-min) * 100vw);
  }
}

/* special_imglist */
.special_imglist img{
    width: 100%;
    margin: 0;
}
.special_imglist ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
}
.special_imglist li{
    width: calc((100% - 3vw) / 5);
}
@media screen and (max-width: 768px) {
    .special_imglist li{
        width: calc((100% - 3vw) / 3);
    }
}

.img_w100 {
  max-width: 100% !important;
}