@charset "utf-8";
/*====================================
	/card/subscription/
=================================== */
body {
  line-height: 1.5;
}
a {
  transition: all .2s ease-out;
}
a:hover {
  opacity: 0.7;
}
a:link {
  text-decoration: underline;
}
#main .sp {
  display: none!important;
}
main img {
  width: 100%;
  height: auto;
}
#container {
  margin: 0 auto;
  width: 850px;
}
#main {
  margin: 30px auto 0;
  width: 950px;
}
#main p {
  margin: 0;
}
.block {
  display: block;
}
.red {
  color: #FF0000;
}
.bold {
  font-weight: bold;
}
.lg {
  font-size: 2.6rem;
}
h4 {
margin: 5% 0 0 -1%;
}
@media only screen and (max-width: 767px) {
  .lg {
    font-size: 2rem;
  }
}
.xl {
  font-size: 2.9rem;
}
@media only screen and (max-width: 767px) {
  .xl {
    font-size: 2.2rem;
  }
}
#main section {
  margin-top: 60px;
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  #main section {
    font-size: 1.4rem;
    margin-top: 30px;
  }
}
#main .campaign {
  background-color: #000;
  color: #fff;
  text-align: center;
  padding: 10px 0;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  #main .campaign {
    font-size: 1.4rem;
  }
}
#main .campaign p {
  margin-top: 0;
}
#main .campaign .period {
  display: inline-block;
  border: 1px solid #fff;
  padding: 0 30px;
  margin-right: 20px;
}
#main .campaign .day {
  font-size: 2.6rem;
}
@media only screen and (max-width: 767px) {
  #main .campaign .day {
    font-size: 1.8rem;
  }
}
#main .overview p {
  margin-top: 30px;
}
#main .prize h3 {
  text-align: center;
  margin-top: 20px;
}
#main .prize .tblArea .cap {
  text-align: center;
  margin: 25px 0 10px;
}
#main .prize .tblArea table {
  width: 100%;
  font-size: 1.7rem;
}
#main .prize .tblArea td,
#main .prize .tblArea th {
  border: 1px solid #000;
}
@media only screen and (max-width: 767px) {
  #main .prize .tblArea td,
  #main .prize .tblArea th {
    display: block;
  }
}
#main .prize .tblArea th {
  background-color: #FBF6F5;
  font-weight: bold;
  padding: 5px 0;
}
#main .prize .tblArea td {
  padding: 20px;
}
#main .prize .more {
  margin: 15px 0 10px;
}
#main .entry .entryInn {
  width: 92%;
  margin: 0 auto;
}
#main .entry .entryInn .list01 {
  margin-top: 20px;
}
#main .entry .entryInn .entryBtn {
  margin: 40px 0;
}
#main .entry .entryInn .entryBtn a {
  color: #000;
  text-decoration: none;
  font-weight: bold;
  border: 2px solid #999;
  border-radius: 8px;
  display: block;
  text-align: center;
  padding: 5px 0;
  position: relative;
  width: calc(100% / 1.5);
  margin: 0 auto 0;
}
@media only screen and (max-width: 767px) {
  #main .entry .entryInn .entryBtn a {
    width: 100%;
  }
}
#main .entry .entryInn .entryBtn a::after {
  content: "";
  position: absolute;
  top: 42%;
  right: 1.8rem;
  width: 1rem;
  height: 1rem;
  margin-top: -0.4rem;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  transform: rotate(45deg);
}
@media only screen and (max-width: 767px) {
  #main .entry .entryInn .entryBtn a::after {
    border-top: 2px solid #000;
    border-right: 2px solid #000;
  }
}
#main .entry .entryInn h3 {
  text-align: center;
  color: #fff;
  background-color: #172A80;
  font-size: 1.7rem;
  padding: 5px 0;
}
@media only screen and (max-width: 767px) {
  #main .entry .entryInn h3 {
    font-size: 1.4rem;
  }
}
#main .entry .entryInn .exp {
  text-align: center;
  margin: 20px 0;
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  #main .entry .entryInn .exp {
    font-size: 1.4rem;
  }
}
#main .entry .entryInn .exp a {
  color: #1D2080;
}
#main .entry .entryInn .loginArea {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  width: 80%;
  margin: 0 auto;
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  #main .entry .entryInn .loginArea {
    width: 100%;
    font-size: 1.4rem;
  }
}
#main .entry .entryInn .loginArea div {
  width: 46%;
  text-align: center;
  display: flex;
}
#main .entry .entryInn .loginArea .signUp a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
  border: 1px solid #000;
  border-radius: 8px;
  text-decoration: none;
  position: relative;
  padding: 13px 0;
  width: 100%;
}
#main .entry .entryInn .loginArea .signUp a span {
  display: inline-block;
  padding-left: 80px;
}
@media only screen and (max-width: 767px) {
  #main .entry .entryInn .loginArea .signUp a span {
    padding-left: 23px;
  }
}
#main .entry .entryInn .loginArea .signUp a::before {
  content: "";
  display: block;
  position: absolute;
  background: url(https://www.takashimaya-fp.co.jp/card/common2015/images/com_ic50.png) no-repeat;
  background-size: contain;
  width: 43px;
  height: 41px;
  top: 7px;
  left: 50px;
}
@media only screen and (max-width: 767px) {
  #main .entry .entryInn .loginArea .signUp a::before {
    width: calc(43px / 1.5);
    height: calc(41px / 1.5);
    top: 20px;
    left: 10px;
  }
}
#main .entry .entryInn .loginArea .login a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #A50D23;
  text-decoration: none;
  position: relative;
  padding: 13px 0;
  width: 100%;
}
#main .entry .entryInn .loginArea .login a span {
  display: inline-block;
  padding-left: 30px;
}
#main .entry .entryInn .loginArea .login a::before {
  content: "";
  display: block;
  position: absolute;
  background: url(https://www.takashimaya-fp.co.jp/card/common2015/images/com_ic15.png) no-repeat;
  background-size: contain;
  width: 27px;
  height: 35px;
  top: 10px;
  left: 90px;
}
@media only screen and (max-width: 767px) {
  #main .entry .entryInn .loginArea .login a::before {
    width: calc(27px / 1.5);
    height: calc(35px / 1.5);
    top: 22px;
    left: 27px;
  }
}
#main .entry .entryInn .list02 {
  font-size: 1.7rem;
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  #main .entry .entryInn .list02 {
    font-size: 1.4rem;
  }
}
#main .notes ul {
  margin-top: 20px;
}

.page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 75px;
  z-index: 200;
}

@media only screen and (max-width: 1200px) {
  #main {
    margin: 2.5vw auto 0;
    width: 100%;
  }
  #container {
    width: 100%;
    padding: 0 20px;
  }
}

/* sp
-------------------------- */
@media only screen and (max-width: 767px) {
  #main {
    /* margin-top: 4vw;
    padding-top: 5.333vw; */
    width: 100%;
  }
  #main .pc {
    display: none!important;
  }
  #main .sp {
    display: block!important;
  }
  #main img.sp,
  .main img.sp {
    display: inline-block;
  }
  #main .timeSchedule .box {
    border: 1px solid #000;
    margin-bottom: 30px;
  }
  #main .timeSchedule .box .column {
    border-top: 1px solid #000;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    padding: 10px;
  }
  #main .timeSchedule .box .column:first-child {
    background-color: #FBF6F5;
    border-top: none;
  }
  .page-top {
    width: 55px;
  }
}


/* footer */
footer {
  margin: 36px 0;
  padding: 24px;
  color: #000;
  font-size: 12.8px;
  text-align: center;
}

@media screen and (max-width: 540px) {
  footer {
    margin: 2.963vw 0;
    padding: 2.037vw;
    font-size: 1.852vw;
  }
}
