@charset "utf-8";

/* --------------------------------------------------------------------------------
   Shered
-------------------------------------------------------------------------------- */

.header {
  margin-bottom: 0;
  width: 100%;
  min-height: 43px;
  padding-bottom: 20px;
}
#contents-area,
#contents-body,
.lyt-col-1 #contents-body {
  float: none;
  width: 100%;
  min-width: 990px;
}
#contents-body {
  display: block;
  padding-top: 40px;
}
#contents-body>*:last-child {
    margin-bottom: 0;
    border-top: solid;
    border-top-width: 8px;
    border-top-color: #000;
}
.contents-inner {
  width: 950px;
  margin: 0 auto;
  padding: 0 20px;
}
#contents-footer {
  width: 990px;
  margin: 0 auto;
}

.clearfix:after {
  content: ".";
  height: 0px;
  clear: both;
  visibility: hidden;
  display: block;
}
.clearfix {
  zoom: 1;
}

/* --------------------------------------------------------------------------------
   Individual
-------------------------------------------------------------------------------- */

/* ナビゲーション */
#nav {
  width: 100%;
  height: 45px;
  background-color: #000000;
}
#nav ul {
  width: 950px;
  margin: 0 auto;
  text-align: center;
  box-sizing: border-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
#nav ul li {
  display: inline-block;
}
.fixed-menu-hide::after,
.navigation ul::after,
.about-tpoint-limited::after,
.clearfix::after,
#container-result .stepArea::after {
  clear: both;
  content: "";
  display: block;
}
.fixed-menus {
  height: 45px;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 8888;
}

/* MV */
#main {
  width: 960px;
  margin: 0 auto;
  position: relative;
}
#main .main_txt {
  position: absolute;
  left: 20px;
  top: 43px;
}

/* heading */
#campaign-contents h2 {
  margin-bottom: 25px;
  text-align: center;
}
#campaign-contents .txt {
  text-align: center;
  margin-bottom: 30px;
}

/* キャンペーン */
.campaign-top-text {
  font-size: 36px;
  text-align: center;
  font-weight: bold;
}
.campaign-text {
  font-size: 18px;
  text-align: center;
}
.campaign-read {
  width: 280px;
  font-size: 30px;
  text-align: center;
  font-weight: bold;
  color: #333;
  background-color: #fbc600;
  margin: 0 auto;
}
.campaign-list_item:not(:first-child) {
  margin-top: 30px
}
#campaign-main {
  padding: 70px 0 0;
  margin-bottom: 15px;
}
#campaign-main h2 {
  margin-bottom: 40px;
}

#campaign-main .campaign-main-inner {
  width: 830px;
  margin: 0 auto;
}
#campaign-main .bnr {
  margin-bottom: 20px;
  position: relative;
}

#campaign-main .bnr a {
  position: absolute;
  width: 855px;
  height: 42px;
  bottom: 20px;
  left: 49px;
}

#campaign-main .campaign-main-copy {
  text-align: center;
  font-weight: bold;
  font-size: 24px;
}
#campaign-main .main {
  position: relative;

}
#campaign-main .main a.btn_campaign {
  position: absolute;
  width: 852px;
  height: 62px;
  bottom: 26px;
  left: 49px;
}
#campaign-main .main a img.newwindowicon  {
  display: none;
}
#campaign-main .main a.btn_campaign {
  position: absolute;
  width: 852px;
  height: 62px;
  bottom: 26px;
  left: 49px;
  letter-spacing: -9999px;
}

#campaign-main .main #campaign-top{
  position: relative;
  margin: 0 0 30px 0;
}

#campaign-main .campaign-box {
  width: 404px;
  float: left;
  text-align: center;
}
#campaign-main .campaign-box:nth-child(even) {
  float: right;
}
#campaign-main .campaign-box.full {
  width: 830px;
  float: none;
  margin-bottom: 0;
}
.btn_campaign_detail {
  margin: 20px auto 0;
}
#campaign-main .campaign-box p {
  text-align: center;
  margin-top: 10px;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 0;
}
#campaign-main .campaign-box a {
  color: #006699;
}

#closed-campaign-main {
  padding-top: 70px;
}

/* campaign-other */
#campaign-other {
  padding-top: 45px;
  margin-top: 15px;
  margin-bottom: 35px;
}
#campaign-other .campaign-box {
  width: 385px;
  float: left;
  margin-left: 60px;
}
#campaign-other .campaign-box p {
  text-align: center;
  margin-top: 10px;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 0;
}
#campaign-other .campaign-box a {
  color: #006699;
}

/* キャンペーンスケジュール */
.campaign-schedule-box {
  width: 710px;
  border: 2px solid #000;
  border-bottom: 6px solid #000;
  border-radius: 16px;
  margin: 50px auto 0;
  position: relative;
  z-index: 0;
}
.campaign-schedule-box.closed::before {
  content: "開催終了";
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  font-size: 20px;
  letter-spacing: .06em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.campaign-schedule-box-inner {
  display: flex;
  align-items: center;
  padding: 20px 20px;
}
.campaign-schedule-box-item {
  display: flex;
  align-items: flex-start;
}
.campaign-schedule-box + .campaign-schedule-box {
  margin-top: 25px;
}
.campaign-month,
.campaign-month-img{
  width: 80px;
  height: 80px;
  font-size: 60px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background-color: #000;
  border-radius: 10px;
  margin-right: 10px;
}
.campaign-img {
  width: 80px;
  margin-right: 10px;
}
.campaign-month .campaign-month-text-s {
  font-size: 20px;
}
.campaign-month-img,
.campaign-img {
  display: inline-flex;
  background: none;
  border-radius: 0;
  margin-right: 20px;
}
.campaign-img .campaign-img-item {
  width: 100%;
  pointer-events: none;
}
.campaign-schedule-box-title {
  color: #333;
  font-weight: bold;
  font-size: 18px;
}
.campaign-schedule-box-title-date {
  font-size: 14px;
  margin-bottom: 0;
}
.campaign-schedule-box-title-text {
  margin-bottom: 0;
}
.campaign-schedule-box-title-normal-text {
  font-weight: normal;
}
.campaign-schedule-box-content-item {
  color: #030303;
  margin-top: 30px;
  padding: 0 20px;
}
.campaign-schedule-box-content-item + .campaign-schedule-box-content-item {
  margin-top: 35px;
}

.campaign-schedule-box-content-item-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}
.campaign-list {
  margin-top: 20px;
}
.campaign-list-item + .campaign-list-item {
  margin-top: 10px;
}
.campaign-list-item-mark {
  display: table-cell;
  min-width: 32px;
}
.campaign-list-item-text {
  display: table-cell;
}
.campaign-schedule-box-content-mark {
  position: relative;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  background-color: #fbc600;
  border-radius: 0 0 11px 11px;
  margin-bottom: 0;
  padding: 10px 8px;
}
.campaign-schedule-box-content-mark.active {
  margin-top: 30px;
}
.accordion_text_open,
.accordion_text_close {
  margin-top: 0;
  margin-bottom: 0;
}
.accordion_text_close,
.campaign-schedule-box-content-mark.active .accordion_text_open,
.campaign-schedule-box-content-mark.active .accordion_text_update {
  display: none;
}
.campaign-schedule-box-content-mark.active .accordion_text_close {
  display: block;
}
.accordion_text_update{
  display: grid;
  place-items: center;
  background-color: #ffffff;
  border-radius: 5px;
  font-size: 14px;
  color: #333333;
  width: 127px;
  height: 24px;  
  text-align: center;
  margin: 0 auto;
}
.accordion_icon-plus {
  position: absolute;
  display: block;
  top: -webkit-calc(15px);
  top: calc(15px);
  left: calc(50% - 70px);
  width: 14px;
  height: 14px;
}
.accordion_icon-plus::before,
.accordion_icon-plus::after {
  display: block;
  content: "";
  position: absolute;
  top: -webkit-calc(50% - 1px);
  top: calc(50% - 1px);
  margin: auto;
  width: 100%;
  height: 2px;
  background-color: #000;
}
.accordion_icon-plus::after {
  transform: translateY(-50%) rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.accordion_icon-plus.active::after {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.accordion_link-inner {
  background: #fff;
  margin-bottom: 40px;
  padding: 40px;
  border-radius: 25px;
  text-align: center;
}
/* coming soon */
.campaign-schedule-box.coming-soon {
  background-color: #999;
  color: #fff;
  border: none;
}
.campaign-schedule-box.coming-soon .campaign-schedule-box-inner {
  align-items: center;
}
.campaign-schedule-box.coming-soon .campaign-schedule-coming-soon {
  margin-left: 145px;
}


/* 応援動画 放映中 */
#cm-main {
  padding-top: 70px;
  margin-bottom: 35px;
}
#cm-main h2 {
  margin-bottom: 40px;
}
#cm-main .detail {
  text-align: center;
  font-size: 16px;
  margin: 30px 0 0;
}

/* 特別企画 */
#special-events {
  padding-top: 70px;
  margin-bottom: 35px;
}
#special-events h2 {
  margin-bottom: 21px;
}
#special-events h2 + p {
  margin-bottom: 29px;
}

/* 新着情報 */
#info-main {
  padding-top: 45px;
  margin-bottom: 35px;
}
#info-area {
  width: 790px;
  margin: 0 auto;
}
#info-area li {
  border-left: solid 4px #000000;
  padding: 6px 0 6px 26px;
  font-size: 16px;
}
#info-area span.date,
#info-area span.tag {
  float: left;
}
#info-area span.date {
  display: block;
  margin-right: 32px;
}
#info-area span.tag {
  display: block;
  font-size: 14px;
  color: #FFFFFF;
  background-color: #000000;
  padding: 2px 12px;
  border-radius: 15px;
  margin-right: 10px;
}
#info-area span.tag-campaign {
  margin-left: 10px;
  margin-right: 30px;
}
#info-area ul>li>div {
  float: left;
  width: 610px;
}

/* その他 */
#info-other {
  padding-top: 45px;
  margin-bottom: 120px;
}
#recommend {
  text-align: center;
}
#recommend li {
  display: inline-block;
  padding: 0 25px;
}


.u-pt-0 {
  padding-top: 0 !important;
}