@charset "UTF-8";

/* ===============================================
# special
=============================================== */

.special {
  position: relative;
}
@media screen and (min-width: 769px) {
  .special {
    max-width: 1200px;
    min-height: 260px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .special {
    padding: 0 4vw;
  }
}

@media screen and (min-width: 769px) {
  .special__in {
   /* margin: 40px 3.33333vw 0;*/
  }
}

@media screen and (max-width: 768px) {
  .p-cmn__bg {
    left: 0;
  }
}

/* specialInfo */
.specialInfo{
  display: block;
  transform: scale(1, 1.2);
  text-align: center;
  font-size: 20px;
  background-color: #fff;
  color: #000;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .specialInfo{
    font-size: 12px;
  }
}

/* specialTit */
.specialTit {
    display: block;
    position: relative;
    padding-left: 24px;
    line-height: 1.6;
    margin-top: 60px;
    margin-bottom: 15px;
    font-size: 18px;
}
.specialTit::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: min(calc(5 / var(--vw-min) * 100vw), 5px);
    height: 100%;
    display: block;
    background-color: #fff;
}
@media screen and (max-width: 768px) {
  .specialTit{
    font-size: 12px;
    padding-left: 15px;
    margin-top: 40px;
  }
}

/* specialWrap */
.specialWrap{
  margin-top: 60px;
  margin-bottom:40px
}
.specialWrap img{
  width: 100%;
}
.specialWrap ul{
  display: flex;
	flex-wrap: wrap;
	justify-content: center;
  margin-top: 40px;
}
.specialWrap li{
  display: block;
  text-align: center;
  margin-right: 15px;
}
.specialWrap li:last-child{
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .specialWrap li{
    width: 30%;
  }

}

/* sname */
.sname{
  font-weight: 500;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .sname{
    font-size: 11px;
  }
}

/* specialtalkWrap */
.specialtalkWrap{
  margin-top: 60px;
}

/* specialtalkTxt */
.specialtalkTxt{
  margin-top: 30px;
}

/* tname */
.tname01,
.tname02,
.tname03{
  font-weight: 500;
}

.tname01{
  color: #f3ec7d;  
}
.tname02{
  color: #f98994;
}
.tname03{
  color: #00d600;
}


.special__in{
  padding: 0;
}
.specialtalkArea{
  /*width: calc(100% - 322px - 50px);*/

}
/* topicsListsArea */
.topicsListsArea{
  width:100%;
  opacity: 0;
  transition: .4s ease;
  /*position: sticky;
  top: 150px;
  left: 0;*/
}
.topicsListsArea{
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .topicsListsArea{
    top: calc(100 / var(--vw-min) * 100vw);
    left: 0;
  }
}
.topicsListsArea.fixed{
  opacity: 0;
  transition: opacity .4s ease;
  position: fixed;
  top: 190px;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  pointer-events: none;
}
.topicsListsArea.fixed.-view{
  opacity: 1;
  z-index: 1000;
  pointer-events: all;
}
.topicsListsArea__inner{
  border: 1px solid #333;
  padding: 10px 10px 0;
  background-color: #FFF;

  /*display: none;*/
}
.topicsListsArea.fixed.-view .topicsListsArea__inner{
  max-height: calc(100vh - 300px );
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 1000;
  overflow-y: auto;
}
@media screen and (max-width: 768px) {
  .topicsListsArea.fixed {
    position: fixed;
    top: calc(148 / var(--vw-min) * 100vw);
    left: 0;
    right: 0;
    background: none; 
    width: 100%;
    padding:calc(31 / var(--vw-min) * 100vw)  4vw calc(48 / var(--vw-min) * 100vw);
    }
  .topicsListsArea.fixed.-view .topicsListsArea__inner{
    max-height: calc(100vh - (148 / var(--vw-min) * 100vw) );
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 1000;
    overflow-y: auto;
  }
  .topicsListsArea.fixed.-view .acBtn{
    position: fixed;
    top: calc(120 / var(--vw-min) * 100vw);
    width: calc(100% - 8vw);
    right: 0;
    left: 0;
    margin: auto;
    z-index: 10;
  }
}

@media screen and (max-width: 768px) {
  .topicsListsArea.fixed .topicsListsArea__inner{
    padding-bottom: 48px;
  }
  /*
  .topicsListsArea__inner.is-active::after{
    position: fixed;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    z-index: -1;
  }
    */
}
.topicsLists{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
    z-index: 2;
}
.topicsItem{
  width: calc((100% - 10px) / 2);
  margin-bottom: 10px;
  padding: 10px;
  background-color: #000;
  border: 1px solid #000;
  display: flex;

}
@media screen and (max-width: 768px) {
  .topicsItem{
    width: 100%;
  }
}
.topicsListsArea a{
  display: block;
  width: 100%;
  color: #FFF;
  text-decoration: none;
  position: relative;
}

.topicsListsArea a::after {
    content: '';
    display: block;
    width: 9px;
    height: 9px;
    -webkit-mask-size: 9px 9px;
    mask-size: 9px 9px;
    -webkit-mask-image: url(../../assets/img/common/icon/icon-arrow.svg);
    mask-image: url(../../assets/img/common/icon/icon-arrow.svg);
    background-color: #FFF;
    position: absolute;
    bottom: 0;
    right: 0;
}
@media screen and (hover:hover) and (pointer: fine){
  .topicsItem:hover a{
    transition: all .4s ease;
    color: #000;
  }
  .topicsItem:hover{
    background-color: #FFF;
    transition: all .4s ease;
  }
  .topicsItem:hover a::after {
      background-color: #000;
      transition: all .4s ease;
    transition: all .4s ease;
  }
}

.topicsListsArea__ttl {
  position: relative;
  display: flex;
  justify-content: flex-end;
  padding-right: min(calc(28 / var(--vw-min) * 100vw), 28px);
}
.topicsListsArea__ttl--txt{
    background: #333;
    padding: 4px;
    display: inline-block;
    line-height: 1;
    font-size:min(calc(20 / var(--vw-min) * 100vw), 20px);
    height: min(calc(28 / var(--vw-min) * 100vw), 28px);
    color: #FFF;
}  
@media screen and (max-width: 768px) {
  .topicsListsArea__ttl {
    padding-right: calc(60 / var(--vw-min) * 100vw);
  }
  .topicsListsArea__ttl--txt{
    /* font-size: calc(38 / var(--vw-min) * 100vw); */
    height: calc(60 / var(--vw-min) * 100vw);
    display: flex;
    align-items: center;
  }  
}
.ic_toggle {
    display: block;
    background-color: #FFF;
    position: absolute;
    right: 0;
    bottom: 0;
    margin: auto;
    transition: all .4s ease;
    width: min(calc(28 / var(--vw-min) * 100vw), 28px);
    height: min(calc(28 / var(--vw-min) * 100vw), 28px);
}
.ic_toggle::before,
.ic_toggle::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background-color: #000;
	transition: opacity .4s ease;
}
.ic_toggle::before{
	height:min(calc(15 / var(--vw-min) * 100vw),15px);
	width: min(calc(2 / var(--vw-min) * 100vw),2px);
}
.ic_toggle::after{
	width:min(calc(15 / var(--vw-min) * 100vw),15px);
	height: min(calc(2 / var(--vw-min) * 100vw),2px);
}
.acBtn.is-active .ic_toggle::before {
    opacity: 0;
}
@media screen and (max-width: 768px) {
  .ic_toggle {
    width:calc(60 / var(--vw-min) * 100vw);
    height: calc(60 / var(--vw-min) * 100vw);
  }
  .ic_toggle::before{
    height:calc(28 / var(--vw-min) * 100vw);
    width: calc(2 / var(--vw-min) * 100vw);
  }
  .ic_toggle::after{
    width:calc(28 / var(--vw-min) * 100vw);
    height: calc(2 / var(--vw-min) * 100vw);
  }
}
/*--------------------
toTop
------------------- */
.toTop{
	position: fixed;
	bottom: 0;
	right:0;
	z-index: 100;
  opacity: 0;
  transition: all .4s ease;
}
.toTop.-view{
  opacity: 1;
}
.toTop__link{
	display: block;
	background-color: #FFF;
	width: min(calc(80 / var(--vw-min) * 100vw), 80px);
	height: min(calc(80 / var(--vw-min) * 100vw), 80px);
	position: relative;	
	transition: all .4s ease;
	border:1px solid #000;
}
.toTop__link::after{
    content: '';
    position: absolute;
    top: min(calc(20 / var(--vw-min) * 100vw), 20px);
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: min(calc(28 / var(--vw-min) * 100vw), 28px);
    height: min(calc(28 / var(--vw-min) * 100vw), 28px);
    box-sizing: border-box;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(-45deg);
    transition: all .3s ease;
}

/* specialBnr */
.specialBnr img{
  width: 100%;
  border: #FFF 1px solid;
}
@media screen and (min-width: 769px) {
  .specialBnr{
    width: 30%;
    margin: 0 auto;
  }
  .specialBnr a:hover{
    opacity: 0.7 ;
    transition: 0.3s ;
  }
}
@media screen and (max-width: 768px) {
  .specialBnr{
    margin-bottom: 40px;
  }
}