@charset "utf-8";
/* CSS Document */

/*-----------------------

1. リセット

2. 基本レイアウト

3. リンク装飾

4. ヘッダー

5. パンくず

6. フッター

7. clearfix

その他細かいレイアウトはparts.cssに記載

-------------------------*/


/*　1. リセット ----------------------------------------------------------*/
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
body {
	word-wrap:break-word;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, label, fieldset, input, textarea, p, blockquote, pre, table th, td,button, address {
	padding: 0;
	margin: 0;
	line-height:1.6;
	text-decoration: none;
	color: #333333;
	font-size: 14px;
	font-family: 'メイリオ', Meiryo,'ヒラギノ角ゴ Pro W3','ＭＳ Ｐゴシック','Helvetica Neue', Helvetica, Arial, Roboto, 'Droid Sans', 'Hiragino Kaku Gothic ProN',   sans-serif;
}
img {
	border: none;
	vertical-align: middle;
}

/*　2. 基本レイアウト ----------------------------------------------------------*/
.main {
	min-height: 650px
}
.maxwidth {
	width: 100% !important
}
/*　タイトル */
.title_h1 {
	background:#f6f5fd;
	border-bottom:2px solid #d7d5df;
	margin-bottom: 40px;
}
.title_h1 h1 {
	font-size:35px;
	font-weight:normal;
	width:1000px;
	margin:0 auto;
	padding:20px 0
}
h2 {
	font-size:30px;
	padding-bottom:25px;
	margin:60px auto 40px;
	font-weight:normal;
	border-bottom:2px solid #000000;
	line-height:1.5
}
h2.h2_member {
	font-size:34px;
	border-bottom:2px solid #985094;
	text-shadow:0 0 10px #ffffff,0 0 10px #ffffff,0 0 10px #ffffff;
	text-align: center;
}
h2.h2_member:before {
	content: "";
	background: url(/images/img_h2_member_left.png) no-repeat;
	width: 138px;
	height: 40px;
	display: inline-block;
	margin-right: 30px;
	vertical-align: middle
}
h2.h2_member:after {
	content: "";
	background: url(/images/img_h2_member_right.png) no-repeat;
	width: 138px;
	height: 40px;
	display: inline-block;
	margin-left: 30px;
	vertical-align: middle
}
h3 {
	background:#000000;
	color:#FFFFFF;
	padding:10px 20px;
	margin:30px auto;
	line-height:1.5;
	font-size:18px
}
h4 {
	font-size:18px;
	line-height:1.5;
	padding-left:20px;
	margin:20px 0;
	position:relative
}
h4:before {
	content:"";
	background:url(/images/icon_h4.png) no-repeat center center;
	width:11px;
	height:17px;
	position:absolute;
	top:4px;
	left:0;
}
/*　箱 */
.unit {
	margin:30px auto 60px auto ;
	width:1000px;
}
.unit.unit_error {
	background:#fff5f5;
	border:5px solid #ff8c8c;
	padding:20px 20px 20px 80px;
	position:relative;
	min-height:92px;
	display:table;
	margin:30px auto
}
.unit_error p {
	display:table-cell;
	vertical-align:middle
}
.unit_error:before {
	content:"";
	position:absolute;
	background:url(/images/icon_error.png) no-repeat;
	width:42px;
	height:39px;
	left:20px;
	top:20px
}
.unit.unit_warning {
	background:#f9f2ea;
	border:1px solid #ce3a00;
	padding:20px 20px 20px 80px;
	position:relative;
	min-height:92px;
	display:table;
	margin: 30px auto
}
.unit_warning p {
	display:table-cell;
	vertical-align:middle
}
.unit_warning:before {
	content:"";
	position:absolute;
	background:url(/images/icon_warn.png) no-repeat;
	width:40px;
	height:40px;
	left:20px;
	top:20px
}
.unit.unit_inquiry {
	background:#f2f2f2;
	border:4px solid #e7e6e0;
	padding:0 40px;
	margin:30px auto
}
.box {
	margin:30px auto;
}
.box_01 {
	padding:30px 40px
}
.box_02 {
	padding:30px
}
.box_03 {
	padding:0 30px
}
.box_04 {
	padding:20px
}
.box_friends {
	background: url(/images/bg_friends.png)
}
.box_general {
	background: url(/images/bg_general.png)
}
.box_general_02 {
	background: url(/images/bg_general_02.png)
}

/*　リスト */
.ls_none {
	list-style:none;
}
.ls_decimal {
	list-style:decimal;
	padding-left:20px;
}
.ls_lower-latin {
	list-style:lower-latin;
	padding-left:20px;
}
.ls_disc {
	list-style:disc;
	padding-left:20px;
}
.ls_circle {
	list-style:circle;
	padding-left:20px;
}
.list {
	line-height:1.6;
	margin: 20px 0
}
ul.list {
	margin:20px 0;
}
ul.list li {
	margin-bottom: 10px
}
.ls_arrow_01,
.ls_arrow_02,
.ls_arrow_03,
.ls_arrow_04,
.ls_zoom_01 {
	position:relative;
	list-style:none;
	padding-left:18px;
}
.ls_arrow_04 {
	font-size:20px;
	height: 40px;
	padding-top: 5px;
}
.ls_arrow_01:before,
.ls_arrow_02:before,
.ls_arrow_04:before,
.ls_zoom_01:before {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
	width:8px;
	height:10px;
}
.ls_arrow_03:before
{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:20px;
	margin:auto;
	width:8px;
	height:10px;
}
.ls_arrow_01:before {
	background:url(/images/arrow_01.png) no-repeat;
	background-size:8px 10px
}
.ls_arrow_02:before,
.ls_arrow_03:before,
.ls_arrow_04:before
 {
	background:url(/images/arrow_02.png) no-repeat;
	background-size:8px 10px
}
.ls_zoom_01:before {
	background:url(/images/zoom_01.png) no-repeat;
	background-size:12px 11px;
	width:12px;
	height:11px
}
.ls_outlink_01 {
	position:relative;
	list-style:none;
	padding-right:18px;
}
.ls_outlink_01:after {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	margin:auto;
	width:12px;
	height:9px;
	background:url(/images/outlink_01.png) no-repeat;
	background-size:12px 9px
}
a:hover .ls_arrow_01:before,
a:hover .ls_arrow_02:before,
a:hover .ls_arrow_03:before,
a:hover .ls_arrow_04:before,
.btn_area li:hover .ls_arrow_01:before,
.btn_area li:hover .ls_arrow_02:before,
.btn_area li:hover .ls_arrow_03:before,
.btn_area li:hover .ls_arrow_04:before {
	-webkit-animation: fade-right 0.7s ease;
	        animation: fade-right 0.7s ease;
	-webkit-animation-name: fade-right;
			animation-name: fade-right;
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
			animation-iteration-count: infinite;
	-webkit-animation-duration: 0.8s;
			animation-duration: 0.8s;
}
/*　ボタン */
a.btn {
	color:#FFFFFF;
	text-decoration:none !important
}
a.btn p,
a .btn span {
	color:#FFFFFF;
	text-decoration:none
}
a .btn:hover,
a .btn_qr:hover {
	box-shadow:none;
	transition: all 0.4s;
	opacity:0.8
}
a .btn,
input.btn {
	display:inline-block;
	background:#a244ae;
	text-align:center;
	padding:20px 15px;
	width:328px;
	box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);
}
.btn {
	display:inline-block;
	background:#E3E3E3;
	text-align:center;
	padding:20px 15px;
	width:328px;
	box-shadow:none;
	color:#929292
}
.btn.btn_gray {
	background:#7e7e7e
}
.btn.btn_member1 {
	background:#7474e2
}
.btn.btn_general {
	background:#E97F8A
}
p.btn {
	margin:0
}
.btn p {
	padding:0;
	margin :0;
	line-height:1.2;
}
.btn span {
	display:block
}
.btn.btn_01 {
	background:#ffffff;
	border:1px solid #b8b8b8;
	box-shadow:none
}
a .btn.btn_01 span {
	color:#333333
}
.btn.btn_gray {
	background: #7e7e7e;
}
.btn_size_small {
	padding:6px 10px !important;
	width:auto !important;
}
.btn_close {
	position: relative;
	color: #FFFFFF
}
.btn_close:before {
	content:"";
	background:url(/images/icon_del.png) no-repeat center center;
	background-size: 25px 25px;
	width:25px;
	height:25px;
	position:absolute;
	top: 0;
	bottom: 0;
	left:20px;
	margin: auto
}
.del_area .btn_delete input {
	min-width: 200px
}
.btn_delete {
	position: relative;
}
.btn_delete input {
	border-radius: 4px;
	background: #6c6c6c;
	color: #ffffff;
	text-align: center;
	border:none;
	padding: 5px 10px 5px 30px;
	cursor: pointer;
}
.btn_delete:before {
	content:"";
	background:url(/images/icon_del.png) no-repeat center center;
	background-size: 14px 14px;
	width:14px;
	height:14px;
	position:absolute;
	top: 0;
	bottom: 0;
	left:10px;
	margin: auto
}
.btn_ticket dt {
	position: relative
}
.btn_ticket dt:before {
	content: '';
	background: url(/images/icon_ticket.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 74px;
	height: 58px
}
.btn_history dt {
	position: relative
}
.btn_history dt:before {
	content: '';
	background: url(/images/icon_history.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 50px;
	height: 58px
}
.btn_confirm dt {
	position: relative
}
.btn_confirm dt:before {
	content: '';
	background: url(/images/icon_confirm.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 46px;
	height: 57px
}
.btn_change_pass dt {
	position: relative
}
.btn_change_pass dt:before {
	content: '';
	background: url(/images/icon_change_pass.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 79px;
	height: 48px
}
.btn_change_mail dt {
	position: relative
}
.btn_change_mail dt:before {
	content: '';
	background: url(/images/icon_change_mail.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 87px;
	height: 46px
}
.btn_mail_config dt {
	position: relative
}
.btn_mail_config dt:before {
	content: '';
	background: url(/images/icon_mail_config.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 84px;
	height: 46px
}
.btn_web_limit dt {
	position: relative
}
.btn_web_limit dt:before {
	content: '';
	background: url(/images/icon_web_limit.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 77px;
	height: 52px
}
.btn_change_userinfo dt {
	position: relative
}
.btn_change_userinfo dt:before {
	content: '';
	background: url(/images/icon_change_userinfo.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	right: 0;
	margin: auto;
	width: 65px;
	height: 49px
}
.btn_withdraw dt {
	position: relative
}
.btn_withdraw dt:before {
	content: '';
	background: url(/images/icon_withdraw.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	right: 0;
	margin: auto;
	width: 65px;
	height: 49px
}

.btn_qr {
	position: relative;
	margin: 0;
	display: inline-block
}
.btn_qr {
	border-radius: 4px;
	background: #6c6c6c;
	color: #ffffff;
	text-align: center;
	border:none;
	padding: 5px 10px 5px 25px;
	cursor: pointer;
	width: 100%
}
.btn_qr.btn_qr_ticket {
	background: #e9092e;
}
.btn_qr.btn_qr_seat {
	background: #1e57bf;
}
.btn_qr:before {
	content:"";
	background:url(/images/icon_qr.png) no-repeat center center;
	background-size: 21px 21px;
	width:21px;
	height:21px;
	position:absolute;
	top: 0;
	bottom: 0;
	left:10px;
	margin: auto
}
.btn_mypage dt {
	position: relative
}
.btn_mypage dt:before {
	content: '';
	background: url(/images/icon_mypage2.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.btn_regist dt {
	position: relative
}
.btn_regist dt:before {
	content: '';
	background: url(/images/icon_regist2.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.btn_card dt {
	position: relative
}
.btn_card dt:before {
	content: '';
	background: url(/images/icon_card.png) no-repeat center center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
/*　横並び */
.row_set {
	margin:10px 0;
	font-size:0;
}
.row_set li {
	vertical-align: top
}
.row_set > li {
	display:inline-block;
	font-size:14px;
}
.row_set.row3 .btn,
.row_set.row2 .btn {
	width:100%
}
.row_set.row3 > li {
	width:31.3%;
	margin-left:3%
}
.row_set.row3 > li:first-child {
	margin-left:0
}
.row_set.row3 > li:nth-child(3n+1){
	margin-left:0
}
.row_set.row2 > li {
	width:48.5%;
	margin-left:3%
}
.row_set.row2 > li:first-child {
	margin-left:0
}
.row_set.row2 > li:nth-child(2n+1){
	margin-left:0
}
/*　表共通 */
table {
	border-collapse: collapse;
	width: 100%;
	border: #d2d2d2 solid 1px;
}
table.margin {
	margin:30px 0
}
table thead th {
	background:#666666;
	color:#FFFFFF
}
table tbody th {
	font-weight: normal
}
table th, td {
	padding:8px 10px;
}
table th {
	font-weight: bold;
	text-align: center;
	border: #d2d2d2 solid 1px;
	background: #f2f2f2;
}
table td {
	text-align: center;
	border: #d2d2d2 solid 1px;
	background: #ffffff;
}
table tr.closed td {
	background: #f2f2f2
}
table td.even {
	background: #F5F0FF
}
/*　エラー表示 */
.txt_error {
	color:#de0000;
	position:relative;
	padding-left:20px
}
.txt_error:before {
	content:"";
	background:url(/images/icon_error.png) no-repeat center center;
	width:16px;
	height:16px;
	position:absolute;
	background-size:16px 15px;
	left:0;
	bottom:5px
}
/*　サイドナビ付き */
.follow {
	display: inline-block
}
.sidenav {
	float: left;
	width: 250px;
	background: #ffffff
}
.sidenav li:first-child {
	border-bottom: 1px solid #949494;
	border-top: 1px solid #949494;
}
.sidenav li {
	list-style: none;
	padding: 15px;
	border-bottom: 1px solid #949494
}
.sidenav li.active {
	background: #EFEFEF
}
.sidenav li a {
	text-decoration: none;
	padding: 15px;
	margin: -15px;
	display: block
}
.sidenav .ls_arrow_01 {
	display: block;
	padding-right: 18px;
	padding-left: 0
}
.sidenav .ls_arrow_01:before {
	left: auto;
	right: 0
}
.h4_sidenav {
	border-top: 3px solid #000000;
	width: 250px;
	padding-top: 20px;
	padding-left: 15px
}
.h4_sidenav:before {
	background: none;
}
.content_right {
	float: right;
	width: 710px;
	margin-left: 40px;
	padding-bottom: 100px
}
.content_right h2 {
	margin-top: 30px
}
/*　3. リンク装飾 ----------------------------------------------------------*/

a:link,
a:visited {
	color: #333333;
	text-decoration: underline;
}
a:hover,
a:active {
	color: #828282;
	text-decoration: underline;
}

/*　4. ヘッダー ----------------------------------------------------------*/
header {
	font-size:12px;
	background:#000000;
	color:#FFFFFF;
	min-height:70px
}
header a:link, header a:visited {
	color:#ffffff;
	text-decoration:none
}
header a:hover {
	text-decoration:underline
}
header .header_inner {
	width:1000px;
	margin:0 auto;
	padding:14px 0 15px 0
}
header .logo {
	float:left
}
header .shortcut {
	text-align:right
}
header .shortcut ul {
	font-size:0
}
header .shortcut ul li {
	font-size:12px;
	color:#FFFFFF;
	display:inline-block;
	position:relative;
	margin:0 22px;
	padding:0 0 0 5px;
}
header .shortcut ul li a {
	position:relative
}
header .shortcut ul li:before {
	content:"|";
	position:absolute;
	height:15px;
	left:-32px;
	font-size:15px;
	color:#878787;
	top:-3px
}
header .shortcut ul li.logbtn:before {
	content:"|";
	position:absolute;
	height:15px;
	left:-20px;
	color:#878787;
	top:1px
}
header .shortcut ul li:first-child:before {
	content:"";
}
header .shortcut ul li.logbtn {
	background:#ffc600;
	padding:3px 10px 2px 32px;
	margin-bottom:10px;
	-o-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
}
header .shortcut ul li.logbtn a {
	color:#000000;
	padding:3px 10px 2px 32px;
	margin:-3px -10px -2px -32px;
	display:block
}
header .shortcut ul li.logbtn a:hover {
	text-decoration:none
}
header .shortcut ul li.logbtn:hover {
	opacity:0.8;
	transition:all .2s;
}
header .shortcut ul li .icon_outlink {
	margin-right:17px;
}
header .icon_mail:before {
	background-size: 15px 10px
}
header .icon_official:before {
	background-size: 14px 12px
}
header .icon_faq:before {
	background-size: 14px 14px
}
header .icon_guide:before {
	background-size: 10px 14px
}
nav {
	background:#a244ae
}
nav ul {
	font-size:0;
	width:1000px;
	text-align:center;
	margin:0 auto
}
nav li {
	font-size:16px;
	display:inline-block;
	color:#FFFFFF;
	width:333px;
	padding:25px 0;
	position:relative
}
nav li .badge {
	position:absolute;
	background:#ff0000;
	color:#FFFFFF;
	font-size:12px;
	z-index:10;
	left:108px;
	top:15px;
	min-width:20px;
	min-height:14px;
	border-radius:100%;
	padding:0 3px
}
nav li span {
	position:relative;
	color:#ffffff;
	margin-left:20px
}
nav li a:link, nav li a:visited {
	text-decoration:none
}
nav li a {
	display:block;
	padding:25px 0;
	margin:-25px 0;
}
nav li a:hover {
	background:#b569be;
	transition:all .2s;
}

/*　5. パンくず ----------------------------------------------------------*/
.breadcrumb {
	font-size:11px;
	padding:8px 0;
	border-bottom:1px solid #d7d5df;
}
.breadcrumb ul {
	width:1000px;
	margin:0 auto
}
.breadcrumb ul li {
	display:inline-block;
	font-size:11px
}
.breadcrumb ul li:after {
	content:">";
	padding:0 8px;
}
.breadcrumb ul li:last-child:after {
	content:"";
}
/* 購入ページ用 */
ul.filepath {
	font-size:0 !important;
	margin: 40px auto
}
.filepath li {
	background:#d4d4d4;
	color:#535353;
	padding:10px 38px 10px 57px;
	display:inline-block;
	font-size:15px;
	margin-right:2px;
	position:relative;
	padding:10px 0 10px 20px;
}
.filepath li:before {
	content:"";
	position:absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 22px 0 22px 20px;
	border-color: transparent transparent transparent #d4d4d4;
	top:0;
	bottom:0;
	right:-20px;
	margin:auto;
	z-index:2
}
.filepath li:after {
	content:"";
	position:absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 22px 0 22px 20px;
	border-color: transparent transparent transparent #ffffff;
	top:0;
	bottom:0;
	right:-22px;
	margin:auto;
	z-index:1
}
.filepath li:last-child{
	margin-right:0
}
.filepath li:last-child:before {
	border:0
}
.filepath li:last-child:after {
	border:0
}
.filepath li.current {
	background:#3a3a3a;
	color:#ffffff
}
.filepath li.current:before {
	border-color: transparent transparent transparent #3a3a3a;
}
.filepath.filepath_6 li {
	width: 16.5%;
	text-align:center
}
.filepath.filepath_4 li {
	width: 24.85%;
	text-align:center
}
/* 追従用 */
.fixed {
	position: absolute
}
/*　6. フッター ----------------------------------------------------------*/
footer {
	background:#edebfa;
	border-top:2px solid #000000;
	padding-bottom: 100px
}
/*body.guide footer {
	padding-bottom:600px
}*/
footer .footer_container {
	width:1000px;
	margin:0 auto
}
footer ul.f_txtlink {
	text-align:center;
	padding:40px 0;
	border-bottom:1px solid #000000;
	font-size:0
}
footer ul.f_txtlink li {
	display:inline-block;
	font-size:12px;
	margin:0 20px;
	position:relative
}
footer ul.f_txtlink li:before {
	content:"|";
	position:absolute;
	left:-21px
}
footer ul.f_txtlink li:first-child:before {
	content:"";
}
footer .copyright {
	font-size:12px
}
.pagetop {
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:10;
	background-color: rgba(0,0,0,0.7);
	filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#99000000,EndColorStr=#99000000);/*IE8以下用*/
	width:60px;
	height:60px;
}
.pagetop:before {
	content:"";
	position:absolute;
	background:url(/images/arrow_03.png) no-repeat center center;
	width:27px;
	height:20px;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto
}
.pagetop a {
	padding:30px;
	display:block
}

/*7. clearfix ----------------------------------------------------------*/
.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}

/* リセール対応 Added By NESJN 20240429 Start */
.countdown {
	position: absolute;
	width: 1000px;
	top: 162px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 35px;
	text-align: right;
	line-height: 1.6;
	z-index: 10;
}

.timer {
	width: 338px;
	background-color: white;
	border: solid 2px #d193c2;
	display: inline-block;
	text-align: center;
	padding: 10px;
}

.timer dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	justify-content: space-evenly
}

.timer dt {
	font-size: 25px;
	font-weight: bold;
	width: 35%;
	text-align: left;
	line-height: 16px;
	padding-top: 16px;;
}

.timer dd {
	font-size: 30px;
	font-weight: bold;
	width: 45%;
	vertical-align: middle;
}

.timer .note {
	font-size: 16px;
	font-weight: bold;
	color: red;
	text-align: center;
	margin: 0px;
	line-height: 15px;
}
/* リセール対応 Added By NESJN 20240429 End */
