@charset "UTF-8";

/*--------------------------------
reset
--------------------------------*/
html,body,div,p,img,iframe,a,span,blockquote,q,address,cite,
pre,code,em,small,strong,b,i,
header,article,section,nav,figure,figcaption,hgroup,menu,aside,footer,time,
h1,h2,h3,h4,h5,h6,
ul,ol,li,dl,dt,dd,
table,tbody,thead,tfoot,th,tr,td,
form,fieldset,legend,label,select,input,textarea,button{
	margin: 0;
	padding: 0;
	border: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	vertical-align: baseline;
}
header,article,section,nav,figure,figcaption,hgroup,menu,aside,footer{
	display: block;
}
ul li{
	list-style-type: none;
}
h1,h2,h3,h4,h5,h6{
	font-weight: 500;
}
body{
	line-height: 1;
}
a{
	text-decoration: none;
}
img{
	vertical-align: middle;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
select,
option,
input[type=text],
input[type=tel],
input[type=password],
textarea,
button{
	font: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
}
blockquote::before,blockquote::after,q::before,q::after{
	content: '';
	content: none;
}
[type=submit],[type=button],[type=reset],[type=file],button{
	cursor: pointer;
}
:focus{
	outline: none;
}

/*--------------------------------
common
--------------------------------*/
body{
	background:
	url(../images/bg_image.webp) no-repeat center 30px,#000;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	line-height: 1.6;
	font-size: 16px;
	color: #fff;
}
header, footer, aside, nav, section,article,time,figure,label{display: block;}
h1,h2,h3,h4,h5{font-weight:normal;}
ul,ol{list-style:none;}
a,button{outline:none;text-decoration:none; transition: all 0.2s; cursor: pointer;}
a:hover,button:hover {opacity: 0.7;}
a img{border:0;}
fieldset{border:0;}
.clear{margin:0;padding:0;height:0;clear:both;}
#wrap{margin:0 auto;padding:0;width:900px;text-align:left; position:relative; }
body.sa {background:url(../images/bg_image.webp) no-repeat center 80px,#000;}
/*Header
--------------------------------------------------------------------------------------------------------------*/
p.discription {line-height:30px; text-align:right;padding-right: 270px;}
header {width:100%;height: 391px;background: url(../images/header.webp) no-repeat center; border-left:6px solid #a39063; border-right:6px solid #a39063;}
header h1 a{display:block; width:655px; height:390px; text-indent:120%; overflow: hidden; white-space: nowrap;}
.logo-1ban a{background:url(../images/logo-1.webp) no-repeat right 0;}
.logo-2ban a{background:url(../images/logo-2.webp) no-repeat right 0;}
.logo-3ban a{background:url(../images/logo-3.webp) no-repeat right 0;}

a {}
.logo-4ban a{background:url(../images/logo-4.webp) no-repeat right 0;}
.logo-5ban a{background:url(../images/logo-5.webp) no-repeat right 0;}
.logo-6ban a{background:url(../images/logo-6.webp) no-repeat right 0;}
.logo-7ban a{background:url(../images/logo-7.webp) no-repeat right 0;}
.logo-8ban a{background:url(../images/logo-8.webp) no-repeat right 0;}
.logo-9ban a{background:url(../images/logo-9.webp) no-repeat right 0;}
.logo a{background:url(../images/logo.webp) no-repeat right 0;}
header h2 {text-indent: 120%; overflow: hidden; white-space: nowrap;}
header .head_right {position:absolute; top:0; right:20px;z-index: 1;}
header .login {width:220px; background:#000; padding:10px;}
header .login form input {border:1px solid #a39063; background:#000;text-align: center; color:#a39063; margin:0 0 10px; width:100%;height: 42px;line-height:40px; font-size:18px;}
header .login button {background:url(../images/arrow.webp) no-repeat 10px center,#a39063; color:#fff; text-align: center; width:100%; line-height:40px; font-size:18px; border:0;}
header a.reg_btn {margin-top:20px;display: block; background:url(../images/reg_btn.webp) no-repeat 0 0; width:220px;height: 286px;text-indent: 120%;overflow: hidden;white-space: nowrap;box-shadow: 3px 3px 2px rgba(0,0,0,0.5);}
header .head_right .point {
    padding: 8px 16px;
    background: #000000;
    position: absolute;
    bottom: -58px;
    box-shadow: 3px 3px 2px rgb(0 0 0 / 50%);
    line-height: 1.3;
    text-align: center;
    font-weight: bold;
    color: #ffdc87;
}

/*Main
--------------------------------------------------------------------------------------------------------------*/
.contents {width:100%; min-height:400px; position:relative; background:url(../images/content_bg.webp) no-repeat center top,#000;border-left:6px solid #a39063; border-right:6px solid #a39063; padding-bottom:30px;}

.contents .left_content {float:left; width:655px; }
.contents article {margin-bottom: 20px;padding:20px 20px 0 20px; position:relative;}
.contents article h2 {margin-bottom: 20px;padding-bottom: 10px;border-bottom:2px solid #a39063; line-height:40px; font-size:36px;}
.contents article p {margin: 0 0 20px;font-size: 20px;}
.disc li{
	margin: 0 0 20px;
	padding-left: 10px;
	line-height: 1.5;
	border-left: 2px solid #fff;
	font-size: 20px;
}
.general h4 {
    margin-top: 24px;
	font-size: 20px;
	font-weight: bold;
}
.search h2 {}
.search form fieldset {width:302px; float:left; margin-bottom:10px; height:40px; position:relative;}
.search form fieldset:nth-of-type(odd) {margin-right:10px;}
.search form fieldset label {width:110px; line-height:40px; background:#444; color:#fff; text-align: center; position:relative;}
.search form fieldset label:after {content:"";position:absolute; top:0; right:-30px; width:0; height:0; border:20px solid transparent; border-left:10px solid #444;}
.search form fieldset select {position:absolute; top:0; left:130px; line-height: 40px; height:40px; width:172px; padding:0 10px; -webkit-appearance:none; -moz-appearance:none; appearance:none; background:url(../images/select.webp) no-repeat right center,#fff; border:0; font-size:15px; color:#666;}
.search form span {line-height:60px; font-size:20px; width:305px; display:inline-block; text-align: center;}
.search form button {line-height:60px; font-size:26px; width:305px; border:0; background:url(../images/more_btn.webp) no-repeat 0 0; text-align:left; color:#fff; text-indent: 30px;}

.online h2{}
.online fieldset {position:absolute;top: 78px; right:20px; line-height:60px; font-size:16px;}
.online fieldset select {line-height: 40px; height:40px; width:172px; padding:0 10px; -webkit-appearance:none; -moz-appearance:none; appearance:none; background:url(../images/select.webp) no-repeat right center,#fff; border:0; font-size:15px; color:#666; margin-right:10px;}
ul.prof li {float:left; width:115px; border:1px solid #444; background:#000; margin-right:10px;}
ul.prof li:last-of-type {margin-right: 0;}
ul.prof li img {display:block; margin:8px 8px 0; width:96px; height:96px;}
ul.prof li a.profimg { position:relative; display: block;}
ul.prof li a.profimg:after {content:""; position:absolute; bottom:0; background:url(../images/status.webp) no-repeat center 0,rgba(0,0,0,0.8); width:100%; height:20px;}
ul.prof li dt {text-align: center; padding:5px;}
ul.prof li dd {font-size:12px; background:#222; padding:8px; height: 90px;}
ul.prof li span a {display: block; background:url(../images/arrow.webp) no-repeat 6px 6px,#a39063;padding:4px 8px; text-align: center; text-indent: 8px; color:#fff;}
.online form button,.latest form button {line-height:60px; font-size:26px; width:305px; border:0; background:url(../images/more_btn.webp) no-repeat 0 0; text-align:left; color:#fff; text-indent: 64px; float:right; margin-top:20px;}

.latest h2 {}
ul.prof li.offline a.profimg:after {background-position:center -20px;}

.contents article h3 {margin-bottom: 10px;padding: 10px;font-size: 20px;line-height: 1.4; border-top:1px solid #a39063; border-bottom:1px solid #a39063; border-left:8px solid #a39063;}
.contents article h3:first-of-type {margin-top:20px;}


/*SideBar
--------------------------------------------------------------------------------------------------------------*/
.contents .right_content {float:right; width:220px;margin: 69px 13px 0 0;}
.right_content nav ul li a {display:block; background:#a39063; line-height:40px; font-size:18px; color:#fff; margin-bottom:1px;text-align: center;}
.right_content section {margin-top:20px; border:1px solid #a39063;}
section.mobile {background:url(../images/mobile.webp) no-repeat center 0,#000;}
section.mobile img {display:block; margin:70px auto 0;}
section.mobile p {text-align: center; padding:8px; font-size:12px;}
section.u19 {background:url(../images/19.webp) no-repeat 8px center,#000;}
section.u19 p {margin:8px 8px 8px 76px; color:#a39063; font-size:12px;}


/*--------------------------------
form
--------------------------------*/
#entry header {
    height: 290px;
    background: url(../images/entry_head.webp) no-repeat 0 0;
}
#entry header h1 a{
	width: 100%;
    height: 290px;
}
.remaining{
    margin: 0 auto;
    padding: 8px;
    height: 30px;
    background: #7a1839;
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    color: white;
    transition: 0.2s;
}
.remaining .progress{
    width: 0%;
    height: 30px;
    display: block;
    background: #cc3366;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: 0.2s;
}
.remaining p{
	position: absolute;
	top: 3px;
	left: 3px;
	right: 3px;
	bottom: 3px;
}
.remaining span{
	color: white;
}
.remaining.fix{
	top: 0;
}
.remaining + .header{
	margin-top: 64px;
}
.remaining + p.discription {
    margin-top: 30px;
    padding: 0;
    background: black;
    text-align: center;
}
.form-wrapper{
    margin-bottom: 100px;
    padding: 0 100px;
}
.form-box{
	margin: 0 24px 44px;
}
.form-label{
	margin: 0 0 16px;
	display: block;
}
input[type=text],
input[type=tel],
input[type=password],
select,
textarea{
	padding: 16px;
	width: 100%;
	height: 60px;
	background: #fff;
	position: relative;
	font-size: 24px;
}
textarea{
	resize: vertical;
}
select{
	padding: 8px 62px 8px 8px;
	height: 60px;
	background: url(../images/icon-select.webp) no-repeat right center / 60px, #fff;
	border: 1px solid #ddd;
	color: black;
}
select:focus{
	background: url(../images/icon-select.webp) no-repeat right center / 60px, #ffffe5;
}
.radio-box{
	padding: 4px 0 0 0;
	display: flex;
}
.regular-radio{
	display: none;
}
.radio-label{
	width: 50%;
	line-height: 75px;
}
.radio-label-text{
	background: #fff;
	display: block;
	transition: .3s;
	text-align: center;
	border: 1px solid #ddd;
	box-sizing: border-box;
	color: black;
}
.radio-label:nth-of-type(1) .radio-label-text{
	border-radius: 4px 0 0 4px;
	border-right: 0;
}
.radio-label:nth-of-type(2) .radio-label-text{
	border-radius: 0 4px 4px 0;
}
.regular-radio:checked + .radio-label-text{
	background: #eb739f;
	color: #fff;
}
.regular-checkbox{
	margin-bottom: 5px;
	padding: 5px;
	display: block;
	background: #eee;
	font-size: 18px;
	border: 1px solid #eb739f;
}
.regular-checkbox input:checked + .check-label{
	color: #eb739f;
}
.form-msg,
.alert-msg{
	font-size: 20px;
}
.alert-msg{
	margin: 16px 0 32px;
	font-size: 2rem;
}
.form-box .form-msg{
	padding: 8px 0 0 0;
	line-height: 1.3;
	text-align: center;
}
.contents article p.form-item {
    margin-bottom: 0;
}
.error{
	margin: 14px 0 0;
	background: #ff6d6d;
	color: #fff;
	text-align: center;
	line-height: 48px;
	font-size: 24px;
}
.form-item{
	position: relative;
}
.form-border{
	margin: 0 auto;
	width: 100%;
	height: 2px;
	background: #ddd;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	transform-origin: center;
}
input[type=text]:focus + .form-border::after,
input[type=tel]:focus + .form-border::after,
input[type=password]:focus + .form-border::after,
textarea:focus + .form-border::after{
	margin: 0 auto;
	width: 0%;
	height: 2px;
	content: "";
	background: #eb739f;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	transform-origin: center;
	animation: fade-border .3s ease .1s forwards;
}
@keyframes fade-border{
	0%{width: 0%;opacity: 0;}
	100%{width: 100%;opacity: 1;}
}
.entry-btn .btn-area{
	margin: 44px 0 44px 20px;
}
.btn-area .regist-btn{
    line-height: 120px;
    font-size: 26px;
    width: 305px;
    border: 0;
    background: url(../images/entry_btn.webp) no-repeat 0 0;
    text-indent: 120%;
    overflow: hidden;
    white-space: nowrap;
    pointer-events: none;
    filter: grayscale(1);
}
.btn-area .regist-btn.active{
    pointer-events: auto;
    filter: inherit;
}
.ymd-box,.area-box{
	display: flex;
	justify-content: space-between;
}
.ymd-box select{
	width: 32%;
	flex-shrink: 0;
}
.area-box select,
.area-box .sub-area{
	width: 49%;
	flex-shrink: 0;
}
.area-box .sub-area select{
	width: 100%;
	flex-shrink: 0;
}
#entry fieldset label {
    padding: 0;
    width: 100%;
    text-align: center;
    font-size: 24px;
    background: #444;
    position: relative;
    color: #fff;
    line-height: 60px;
}
footer.entry-btn {
    margin: 0 24px;
    padding: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: none;
    text-align: inherit;
    color: inherit;
}
.form-msg.note {
    font-size: 16px;
}
footer.entry-btn a {
    color: #df72e5;
}

/*Footer
--------------------------------------------------------------------------------------------------------------*/
footer {background:#222; text-align: center; padding:15px; color:#ccc;}
footer a {color: #ccc;}
footer address {margin: 5px 0 20px;font-style: normal;}



/* PR banner */
#pr{margin:10px auto 0; text-align:center;}



/* Rule popup */
#rule_popup #wrap{width:620px; margin:10px auto;}
#rule_popup h1{background:#333; height:40px; display:block; padding:0 5px; line-height:40px; color:#fff; font-size:130%; margin-bottom:20px; text-indent:0;}
#rule_popup footer{background:none;}

/* mother bar */
#mother{width:100%; height:50px; background:#a39063;}
#mother h1{display:block; width:900px; margin:0 auto; color:#fff; line-height:50px; text-indent:-9999px;background-position: 0 center;}

/* campaign */
.campaign h4 {border:0; font-size:14px; color:#fff; text-indent:0; padding:20px 0 10px;}
.campaign h5 {font-weight:normal; font-size:12px;color:#fff; padding:20px 0 0;}
.campaign p{padding:0 10px 0 20px;}
.cam_msg {font-size:11px; color:#aaa; padding:0;}
.campaign strong {font-weight:bold; color:#f00;}
.camMenu { margin-bottom:10px;padding-left:20px;}
.camMenu dt { font-weight:bold; font-size:16px; margin:5px 0;}
.camMenu dt:before{content:""; color:#714769;}
.camMenu dd {margin-bottom:10px;}
.camMenu table {border-collapse:collapse; width:270px; color:#000;}
.camMenu table th{text-align:center; background:#ccc; width:90px; border:1px solid #aaa;}
.camMenu table td{text-align:right; width:90px; background:#fff; border:1px solid #aaa; padding-right:10px; box-sizing:border-box;}
.camMenu table tr td:last-child{background:#ff0;}

#campaign_btn,
#campaign_btn_entry {
	position: absolute;
	top: 215px;
	left: 10px;
	z-index: 1;
}
#campaign_btn a,
#campaign_btn_entry a {
	width: 100px;
	height: 100px;
	display: block;
	background: url(../images/cam_btn.webp) no-repeat 0 0;
	text-indent: 120%;
	overflow: hidden;
	white-space: nowrap;
	background-size: contain;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-table;
	min-height: 1%;
}