/* ===============================================================================
Parts CSS
=============================================================================== */
/* headingParts
	======================================== */
/* headingParts01 */
.headingParts01 {
  text-align: center;
  background: url(../img/common/common_heading_bg01.png) no-repeat center bottom;
  background-size: 137px auto;
  padding-bottom: 6px;
}

.headingParts01 h2 {
  margin-bottom: 34px;
  display: inline-block;
  vertical-align: top;
  position: relative;
}

.headingParts01 h2::after {
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
  content: "";
  display: block;
  width: 20px;
  height: 3px;
  background: #eb000b;
  margin: 0 auto;
}

.headingParts01 p {
  font-size: 0.8rem;
  line-height: 1;
  color: #848484;
}

.headingParts01.partsType02 h2::after {
  background: #55acee;
}

.headingParts01.partsType03 h2::after {
  background: #ff37b1;
}

.headingParts01.partsType04 h2::after {
  background: #ef9b00;
}

.sp .headingParts01 {
  background: url(../img/common/common_heading_bg01.png) no-repeat center bottom;
  background-size: 75px auto;
  padding-bottom: 4px;
}

.sp .headingParts01 h2 {
  margin-bottom: 20px;
}

.sp .headingParts01 h2::after {
  bottom: -10px;
  width: 16px;
}

.sp .headingParts01 p {
  font-size: 0.6rem;
}

/* headingParts02 */
.headingParts02 h2 {
  position: relative;
}

.headingParts02 h2::after {
  position: absolute;
  bottom: -19px;
  left: 0;
  content: "";
  display: block;
  width: 20px;
  height: 3px;
  background: #0adb00;
}

.headingParts02 p {
  display: none;
}

.sp .headingParts02 {
  background: url(../img/common/common_heading_bg01.png) no-repeat center bottom;
  background-size: 75px auto;
  padding-bottom: 4px;
  text-align: center;
}

.sp .headingParts02 h2 {
  margin-bottom: 20px;
  display: inline-block;
  vertical-align: top;
  position: relative;
}

.sp .headingParts02 h2::after {
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -10px;
  width: 16px;
}

.sp .headingParts02 p {
  display: block;
  font-size: 0.6rem;
  line-height: 1;
  color: #848484;
}

/* backgroundParts
	======================================== */
/* bgWhiteParts */
.bgWhiteParts01 {
  background: url(../img/common/common_contents_bg01.png) no-repeat left top, #fff url(../img/common/common_contents_bg02.png) no-repeat right bottom;
	background-attachment: fixed;
}

.sp .bgWhiteParts01 {
  background: #fff url(../img/common/common_contents_bg08.png) no-repeat left top;
  background-size: 173px auto;
}

.bgWhiteParts02 {
  background: url(../img/common/common_contents_bg05.png) no-repeat left top, #fff url(../img/common/common_contents_bg06.png) no-repeat right bottom;
	background-attachment: fixed;
}

.sp .bgWhiteParts02 {
  background: #fff url(../img/common/common_contents_bg08.png) no-repeat left top;
  background-size: 173px auto;
}

/* bgGrayParts */
.bgGrayParts01 {
  background: url(../img/common/common_contents_bg03.png) no-repeat left top, #ccd6e0 url(../img/common/common_contents_bg04.png) no-repeat right bottom;
	background-attachment: fixed;
}

.sp .bgGrayParts01 {
  background: #ccd6e0 url(../img/common/common_contents_bg09.png) no-repeat left top;
  background-size: 202px auto;
}

.bgGrayParts02 {
  background: url(../img/common/common_contents_bg03.png) no-repeat left top, #ccd6e0 url(../img/common/common_contents_bg07.png) no-repeat right bottom;
	background-attachment: fixed;
}

.sp .bgGrayParts02 {
  background: #ccd6e0 url(../img/common/common_contents_bg10.png) no-repeat left top;
  background-size: 170px auto;
}

/* btnParts
	======================================== */
.btnParts01 a {
  box-shadow: #cad2da 0 0 6px;
  display: inline-block;
  vertical-align: middle;
  font-size: 1.067rem;
  width: 230px;
  box-sizing: border-box;
  border: solid 3px #111;
  padding: 9px 5px;
  text-align: center;
  border-radius: 3px;
  background: #111;
  color: #fff;
  transition-property: background,color;
  transition-duration: .2s;
}

.btnParts01 a:hover {
  background: #fff;
  color: #111;
  text-decoration: none;
}

.sp .btnParts01 a {
  box-shadow: #cad2da 0 0 4px;
  font-size: 0.866rem;
  width: 185px;
  border: solid 2px #111;
  padding: 7px 5px 8px;
  border-radius: 5px;
}

.sp .btnParts01.partsType02 a {
  width: 155px;
}

.btnParts02 {
  text-align: center;
  font-size: 0;
}
.btnParts02 a,
.btnParts02 input {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.067rem;
  width: 288px;
  box-sizing: border-box;
  border: solid 3px #111;
  padding: 17px 5px;
  text-align: center;
  border-radius: 3px;
  background: #111;
  color: #fff;
  transition-property: background,color;
  transition-duration: .2s;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.pc .btnParts02.dis a,
.pc .btnParts02.dis input {
  padding: 9px 5px;
  width: 312px;
}
.pc .btnParts02 a:hover {
  background: #fff;
  color: #111;
  text-decoration: none;
}
.pc .btnParts02 input:hover {
  background: #fff;
  color: #111;
  cursor: pointer;
}
.sp .btnParts02 a,
.sp .btnParts02 input {
  font-size: 0.866rem;
  width: 185px;
  border: solid 2px #111;
  padding: 8px 5px 9px;
  border-radius: 5px;
}
.btnParts02 li {
  display: inline-block;
  vertical-align: top;
  padding: 0 12px;
}
.btnParts02 li a,
.btnParts02 li input {
  width: 158px;
  padding: 9px 5px;
}
.sp .btnParts02 li {
  width: 120px;
  padding: 0 1.5%;
}
.sp .btnParts02 li a,
.sp .btnParts02 li input {
  padding: 7px 5px 8px;
  width: 100%;
}
.sp .btnParts02.dis a,
.sp .btnParts02.dis input {
  padding: 7px 5px 8px;
}

/* mypoint */
.btnParts03 a {
  box-shadow: #cad2da 0 0 6px;
  display: inline-block;
  vertical-align: middle;
  font-size: 1.067rem;
  width: 289px;
  box-sizing: border-box;
  border: solid 3px #111;
  padding: 18px 5px;
  text-align: center;
  border-radius: 3px;
  background: #111;
  color: #fff;
  transition-property: background,color;
  transition-duration: .2s;
}

.btnParts03 a:hover {
  background: #fff;
  color: #111;
  text-decoration: none;
}

.sp .btnParts03 a {
  box-shadow: #cad2da 0 0 4px;
  font-size: 0.866rem;
  width: 215px;
  border: solid 2px #111;
  padding: 10px 5px 11px;
  border-radius: 5px;
}

.sp .btnParts03.partsType02 a {
  width: 155px;
}
/* mypoint cnt
	======================================== */
.pointArea-mypt {
    width: 60%;
    margin: 50px auto 0;
    background: #ecf1f6;
    padding: 40px 0;
    text-align: center;
}
.sp .pointArea-mypt {
  width: 90%;
  margin-top: 20px;
  padding: 5%;
}
.pointArea-mypt .txt01 {
    text-align: center;
    font-size: 1.07rem;
    line-height: 1.9;
	margin-bottom: 15px;
}
.sp .pointArea-mypt .txt01 {
    margin: 0;
    font-size: 0.81em;
	padding-bottom: 1.5%;
}
/* mypoint_POPUP */
.pointArea_popup {
    width: 100%;
    margin: 10px auto 0;
    background: #ecf1f6;
    padding: 40px 0;
    text-align: center;
}
.sp .pointArea_popup {
  width: 80%;
  margin-top: 10px;
  padding: 5%;
}
.pointArea_popup .txt01 {
    text-align: center;
    font-size: 1.07rem;
    line-height: 1.9;
	margin-bottom: 15px;
}
.sp .pointArea_popup .txt01 {
    margin: 0;
    font-size: 0.81em;
	padding-bottom: 1.5%;
}


/* pnavi
	======================================== */
.pnavi {
  background: rgba(222,230,237,0.70);
}
.pnavi ul {
  width: 999px;
  margin: 0 auto;
  padding:3px 0 5px;
}
.pnavi ul li {
  display: inline;
  font-size: 0.8rem;
}
.pnavi ul li a {
  margin-right: 4px;
  color: #111;
}
.sp .pnavi {
	display:none;
}

/* listBtn
	======================================== */
.listBtn {
  overflow: hidden;
  margin-left: -8px;
  padding-top:79px;
  font-size:0;
  text-align:center;
}
.listBtn a {
  width: 160px;
  display: inline-block!important;
  vertical-align:top;
  margin: 0 0 33px 8px;
  display: block;
  text-align: center;
  box-sizing: border-box;
  border: #202020 2px solid;
  border-radius: 3px;
  font-size: 0.94rem;
  text-decoration: none;
  padding: 11px 0 12px;
  color: #fff;
  background:#202020;
}
.listBtn .tab06 {
  margin-left: 7px;
}
.listBtn a.active,
.pc .listBtn a:hover {
  color: #202020;
  background: #fff;
}
.listBtn .tab02 {
  background: #eb000b;
  border-color: #eb000b;
}
.listBtn .tab02.active,
.pc .listBtn .tab02:hover {
  color: #eb000b;
}
.listBtn .tab03 {
  background: #ef9b00;
  border-color: #ef9b00;
}
.listBtn .tab03.active,
.pc .listBtn .tab03:hover {
  color: #ef9b00;
}
.listBtn .tab04 {
  background: #097bf2;
  border-color: #097bf2;
}
.listBtn .tab04.active,
.pc .listBtn .tab04:hover {
  color: #097bf2;
}
.listBtn .tab05 {
  background: #00a40f;
  border-color: #00a40f;
}
.listBtn .tab05.active,
.pc .listBtn .tab05:hover {
  color: #00a40f;
}
.listBtn .tab06 {
  background: #ff0096;
  border-color: #ff0096;
}
.listBtn .tab06.active,
.pc .listBtn .tab06:hover {
  color: #ff0096;
}
.sp .listBtn {
  padding: 25px 0 20px;
  margin: 0 -1%;
}
.sp .listBtn a {
  width: 31.333%;
  float: left;
  display: block;
  margin: 0 1% 2%;
  border-width: 1px;
  font-size: 0.8rem;
  padding: 5px 0;
  letter-spacing: -0.05em;
  border-radius: 5px;
}

/* block-pager
	======================================== */
.block-pager {
  padding: 20px 0;
  text-align: center;
}
.block-pager .page {
  margin:0 3px;
  display: inline-block;
  vertical-align: top;
  padding: 10px;
  min-width: 48px;
  height: 48px;
  color: #fff;
  text-align: center;
  border: 2px solid #202020;
  border-radius: 2px;
  font-size: 1.07rem;
  box-sizing: border-box;
  background: #202020;
  text-decoration: none;
}
.block-pager span {
  margin:0 3px;
  display: inline-block;
  vertical-align:top;
  padding: 10px;
  min-width: 48px;
  height: 48px;
  color:#202020;
  box-sizing:border-box;
}
.block-pager .page.current,
.pc .block-pager .page:hover {
  background: #fff;
  color: #202020;
}
.block-pager .btn-next,
.block-pager .btn-prev {
  display: inline-block;
  vertical-align:top;
  margin:0 3px;
  padding: 10px;
  min-width: 48px;
  height: 48px;
  color: #fff;
  text-align: center;
  border: 2px solid #202020;
  border-radius: 2px;
  font-size: 1.07rem;
  text-indent: -9999px;
  background: url(../img/common/icon_page.png) 50% 50% no-repeat #202020;
  box-sizing: border-box;
}
.block-pager .btn-prev {
  background: url(../img/common/icon_page_prev.png) 50% 50% no-repeat #202020;
}
.pc .block-pager .btn-next:hover,
.pc .block-pager .btn-prev:hover {
	opacity: 0.7;
}
.block-pager .hover {
  cursor: pointer;
  transition-duration: 0.2s;
}
.pc .block-pager a:hover {
  opacity: 0.8;
}
.sp .block-pager .page,
.sp .block-pager .btn-next,
.sp .block-pager .btn-prev,
.sp .block-pager span {
  font-size: 0.8rem;
  padding: 5px;
  min-width: 33px;
  height: 33px;
  margin: 0 1px;
}

/* headTitle01
	======================================== */
.headTitle01 {
  background: url(../img/common/bg_mainimg.jpg) no-repeat center center #222;
  color: #fff;
  font-size: 1.65rem;
}
.headTitle01 > span {
  display: block;
  width: 999px;
  margin: 0 auto;
  padding: 58px 0 50px;
  font-weight: bold;
}
.sp .headTitle01 {
  font-size: 1.13rem;
}
.sp .headTitle01 > span {
  width: 92%;
  padding: 24px 0;
}
.headTitle02 {
  border-bottom: #ccd6e0 1px solid;
  text-align: center;
  padding-top: 28px;
  margin-bottom: 50px;
}
.headTitle02.dis {
  padding-top: 16px;
}
.headTitle02 span {
  display: inline-block;
  border-bottom: #ff37b1 1px solid;
  margin-bottom: -1px;
  font-size: 2rem;
  font-weight: bold;
  padding: 6px 0;
}
.headTitle02.corG span {
  border-bottom-color: #00ac00;
}
.sp .headTitle02 {
  padding-top: 14px;
  margin-bottom: 25px;
}
.sp .headTitle02.dis {
  padding-top: 8px;
}
.sp .headTitle02 span {
  font-size:1.07rem;
}

/* clubArea
	======================================== */
.clubArea {
  width: 88%;
  margin:60px auto 0;
  background: #ecf1f6;
  padding: 34px 0;
  text-align: center;
}
.clubArea .tit {
  font-size: 1.07rem;
  line-height: 1.9;
  padding-bottom: 27px;
}
.clubArea ul {
  font-size: 0;
  text-align: center;
  padding-bottom: 12px;
}
.clubArea ul li {
  display: inline-block;
  vertical-align: top;
  padding: 0 20px;
}
.clubArea ul li p {
  padding-bottom: 6px;
}
.clubArea ul li span {
  font-size: 0.94rem;
}
.clubArea ul li a {
  color: #c01a1b;
}
.clubArea ul li:last-child a {
  color: #005aff;
}
.sp .clubArea {
  width: 90%;
  margin-top: 20px;
  padding: 5%;
}
.sp .clubArea .tit {
  font-size: 0.94rem;
  line-height: 1.6;
  padding-bottom: 0;
}
.sp .clubArea ul {
  padding: 0;
}
.sp .clubArea ul li {
	padding-top: 15px;
}
.sp .clubArea ul li span {
  font-size: 0.8rem;
}

/* mbnrArea
	======================================== */
.mbnrArea {
  background: #222;
  padding: 29px 0 28px;
}
.mbnrArea .inner {
  width: 999px;
  margin: 0 auto;
  font-size: 0;
}
.mbnrArea .btn01 {
  width: 20.7%;
  display: inline-block;
  vertical-align: middle;
}
.mbnrArea ul {
  width: 90%;
  display: inline-block;
  vertical-align: middle;
  padding: 4px 0 0 2.8%;
}
.mbnrArea ul li {
  display: inline-block;
  vertical-align: top;
}
.mbnrArea ul li a {
  color: #848484;
  display: block;
  border-left: #333333 2px solid;
  padding: 0 37px 0 7px;
  text-decoration: none;
}
.mbnrArea ul li p {
  margin-bottom: 2px;
  border-left: #ff37b1 2px solid;
  margin-left: -9px;
  padding-left: 7px;
}
.mbnrArea ul li span {
  font-size: 0.667rem;
}
.sp .mbnrArea {
  padding: 14px 0;
}
.sp .mbnrArea .inner {
  width: 92%;
}
.sp .mbnrArea .btn01 {
  width: 128px;
  display: block;
  margin: 0 auto;
}
.sp.maxWidth374 .mbnrArea .btn01 {
  width: 110px;
}
.sp .mbnrArea ul {
  width: 100%;
  padding: 0;
  display: block;
  overflow: hidden;
}
.sp .mbnrArea ul li {
  width: 50%;
  padding: 15px 0 0;
  box-sizing:border-box;
}
.sp .mbnrArea ul li a {
  outline:none;
  padding: 0 0 0 7px;
  blr:expression(this.onFocus=this.blur());
}
.sp .mbnrArea ul li:nth-child(2n) {
    padding-left: 9px;
}
.sp .mbnrArea ul li span {
  margin-right: -2em;
  display: inline-block;
}
/*
.sp .mbnrArea ul li:first-child p {
  width: 108px;
}
.sp .mbnrArea ul li:nth-child(2) p {
  width: 56px;
}
.sp .mbnrArea ul li:nth-child(3) p {
  width: 100px;
}
.sp .mbnrArea ul li:nth-child(4) p {
  width: 76px;
}
.sp .mbnrArea ul li:nth-child(5) p {
  width: 50px;
}
.sp .mbnrArea ul li:last-child p {
  width: 56px;
}
*/

/* hover
	======================================== */
.pc a.al:hover img {
  opacity: 0.8;
  transition-duration: 0.2s;
}
.pc .hovIn:hover {
  opacity: 0.7;
  transition-duration: 0.2s;
}

/* loader-bg
	======================================== */
#loader-bg {
    background: #fff;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 110;
}
#loader {
    /* height: 72px;
    width: 72px;
    margin-top: -36px;
    margin-left: -36px; */
    height: 218px;
    width: 236px;
    margin-top: -109px;
    margin-left: -118px;
    position: fixed;
    top: 50%;
    left: 50%;
    text-align: center;
    z-index: 111;
}


.chara_anim{
  margin: 20px 0;
  text-align: center;
}