@charset "Shift_JIS";

.site-h1{
	font-size: 0px;
}

body{
	width: 100%;
	margin:0;
	padding:0;
	font-size: 13px;
	color: #333;
	line-height: 1.5;
	font-family: "Roboto" , "Noto Sans JP"
}

a{
	text-decoration: none;
}

ul{
	padding:0;
	margin:0;
}

.site-cover-wrap{
	display: block;
	padding-top: 145%;
	position: relative;
}


.site-cover-girl{
	background-size: cover;
	background-repeat: no-repeat;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

.site-cover-btn{
	position: absolute;
	right: 0;
	bottom: 15px;
	left:0;
	margin: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.site-reg-btn{
	width: 275px;
	height: 54px;
	border-radius: 100px;
	background-color: #E31B17;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	margin-bottom: 20px;
	position: relative;
	padding-left:10px;
	font-size: 19px;
}

.site-reg-btn:before{
	content: "";
	width: 28px;
	height: 28px;
	background-image:url(/images/guest/icon_reg_white.svg);
	background-size: contain;
	position: absolute;
	top:0;
	bottom:0;
	left:24px;
	margin:auto;
}

.site-reg-btn-balloon{
width: 60%;
    /* height: 56px; */
    margin: -15px;
    position: absolute;
    background-color: #FFF;
    border-radius: 50px;
    box-sizing: border-box;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16);
    font-size: 10px;
    font-weight: 700;
    color: #222222;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 5px 10px 5px 10px;
    line-height: 1.4;
    animation-name: updown;
    animation-duration: 1.8s;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    text-align: center;
}




.site-reg-btn-balloon span{
	font-size: 11px;
}

.site-reg-btn-balloon:before{
	content:"";
	width:30px;
	height: 17px;
	background-image:url(/images/guest/icon_balloon_tail_white.svg);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	bottom:-6px;
	left:15px;
	z-index:-1;
}

@keyframes updown{
	0%{
		top: -35px;
	}
	
	20%{
		top: -35px;
	}
	
	100%{
		top: -45px;
	}
}
	


.site-reg-other-wrap{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 30px 0 10px;
	border-bottom: 10px solid #ECEEF4;

}

.site-login-btn{
	width: 130px;
	height: 54px;
	border-radius: 100px;
	background-color: #dbedff;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	color: #333;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	position: relative;
	padding-left: 14px;
	font-size: 14px;
	border:solid #4169e1 1px;
}

.site-login-btn:before{
	content: "";
	width: 28px;
	height: 28px;
	background-image:url(/img/guest/icon_boy.svg);
	background-size: contain;
	position: absolute;
	top:0;
	bottom:0;
	left:5px;
	margin:auto;
}

.site-login-btn-cookie{
	width: 130px;
	height: 54px;
	border-radius: 100px;
	background-color: #dbedff;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	color: #333;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	position: relative;
	padding-left: 14px;
	font-size: 14px;
	border:solid #4169e1 1px;
}

.site-login-btn-cookie:before{
	content: "";
	width: 28px;
	height: 28px;
	background-image:url(/img/guest/icon_boy.svg);
	background-size: contain;
	position: absolute;
	top:0;
	bottom:0;
	left:5px;
	margin:auto;
}

.site-login-btn_girl{
	width: 130px;
	height: 54px;
	border-radius: 100px;
	background-color: #ffdbff;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	color: #333;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	position: relative;
	padding-left: 14px;
	font-size: 14px;
	border:solid #ff69b4 1px;
}

.site-login-btn_girl:before{
	content: "";
	width: 28px;
	height: 28px;
	background-image:url(/img/guest/icon_girl.svg);
	background-size: contain;
	position: absolute;
	top:0;
	bottom:0;
	left:5px;
	margin:auto;
}

.login_box{
	display:flex;
	width: 275px;
	justify-content:space-between;
}

.site-reg-other a{
	width: 275px;
	height: 50px;
	border-radius: 100px;
	border: 1px solid #aaa;
	background-color: #FFF;
	box-sizing: border-box;
	color: #333;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
	position: relative;
	padding-left:30px;
}

.site-reg-other a:before{
	content: "";
	width: 28px;
	height: 28px;
	background-size: contain;
	position: absolute;
	top:0;
	bottom:0;
	left:24px;
	margin:auto;
}
.site-reg-other.google a:before{
	background-image:url(/images/guest/icon_google_logo.svg);
}
.site-reg-other.yahoo a:before{
	background-image:url(/images/guest/icon_yahoo_logo.svg);
}


.site-about-wrap,
.site-info-wrap{
	padding:20px;
	border-bottom: 10px solid #ECEEF4;
}

.site-about-contents-num01{

}
.site-about-contents-num01 span{

}

.site-about-contents-num01 picture{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%

}

.site-about-contents-num01 img{
	border-radius: 15px;
	width: 100%;
	height: auto;
}

.site-about-contents-num01 img:nth-child(2){
	margin-top: 32px;
}

.site-about-photo{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 10px;
}

.site-about-photo-num01{
	padding-bottom: 30px;
	margin-right: 10px
}	
.site-about-photo-num02{
	padding-top: 30px;
}

.site-about-wrap ul{
	list-style: none;
	margin-top: 10px;

}

.site-about-wrap li{
	position: relative;
	padding-left:12px;
	margin-bottom: 4px;
}
	
.site-about-wrap li:before{
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 10px;
	background-color: #333;
	position: absolute;
	left:0;
	top:6px;
}

.site-info-cp-h2{
	color: #3147F5;
	font-weight: 500;
}
	
.site-info-cp-h1{
	position: relative;
	padding-left: 37px;
	margin: 15px 0;
}

.site-info-cp-h1:before{
	content: "";
	width: 32px;
	height: 32px;
	position: absolute;
	background-image:url(/images/guest/icon_calendar_blue.svg);
	background-size: contain;
	top: 0;
	bottom:0;
	left:0;
	margin:auto
}

.site-contents-wrap{
	background: #FFF5F6;
	padding: 20px 0;
}

.site-contents-card{
	width: calc(100% - 40px);
	display: flex;
	flex-direction: column;
	align-items: center;
	border-radius: 20px;
	margin : 0 auto 25px;
	background: #FFF;
	box-shadow: 0 2px 4px rgba(255,101,101,0.2);
}

.site-contents-card-h{
	font-size: 16px;
	font-weight: 700;
	display: inline-block;
	margin: 15px 0 10px
	
}

.site-contents-card img{
	width: 94%;
	margin-bottom: 5px;
}

.site-contens-card-text{
	width: calc(100% - 30px);
	font-size: 13px;
	line-height: 1.5;
	padding: 15px 0;
	border-top: 1px solid #DDD;
}


.site-contents-btn{
	width: 225px;
	height: 50px;
	color: #333;
	font-size: 15px;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #FFF;
	border: 1px solid #333;
	border-radius: 100px;
	margin: 10px auto 15px;
	position: relative;
	padding-right: 10px;
	box-sizing: border-box;
}

.site-contents-btn:after{
	content: "";
	width: 20px;
	height: 20px;
	background-image: url(/images/guest/icon_arrow_right_black.svg);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top:0;
	right: 16px;
	bottom:0;
	margin: auto 0;
	}


.site-dialog-layout {
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .5);
	z-index: 4;
	display: none;
	justify-content: center;
	align-items: center;
}

.site-dialog-layout.open{
	display: flex;
}


.site-dialog-wrap{
	background: #fff;
	max-height: 95%;
	width: 90%;
	padding: 10px;
	border-radius: 10px;
	font-size: 15px;
	color: #333;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow-y: scroll;
}

.site-dialog-close-btn{
	width: 40px;
	height: 40px;
	background-image: url(/images/guest/icon_close_circle.svg);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top:3px;
	right: 3px;
}



.site-dialog-h{
	margin-bottom: 15px
}


.site-dialog-h1{
	font-size: 16px;
	font-weight: 700;
	color: #FD0E33;
	position: relative;
	display: inline-block;
	margin-bottom: 10px;
}

.site-dialog-h1:after{
	content: "";
	display: block;
	width: 60px;
	height: 2px;

	position: absolute;
	top:0;
	right: -70px;
	bottom:0;
	margin: auto
}

.reg .site-dialog-h1{
	color: #FD0E33;
}
.reg .site-dialog-h1:after{
	background-color: #FD0E33;
}
	
	
.login .site-dialog-h1{
	color: #6E73FC
}
.login .site-dialog-h1:after{
	background-color: #6E73FC;
}
	
	


.site-dialog-h2{
	font-size: 14px;
	font-weight: 400;
}


.site-dialog-wrap form{
	display: flex;
	flex-direction: column;
	margin:0;

}


.site-dialog-wrap input[type="tel"],
.site-dialog-wrap input[type="password"],
.site-dialog-wrap input[type="text"]{
	display: flex;
	flex-direction: column;
	box-sizing:border-box;
	font-size: 16px;
	margin-bottom: 16px;
	height: 40px;
	-webkit-appearance: none;
	border-radius: 0;
	border: none;
	border-bottom: 1px solid #ccc;
	padding-left:30px;
	width: 100%;
}

.site-dialog-wrap input[type="tel"]::placeholder,
.site-dialog-wrap input[type="password"]::placeholder,
.site-dialog-wrap input[type="text"]::placeholder{
	color: #aaa;
	
}

.site-dialog-input-pass{
	position:relative;
}


.site-dialog-input-pass .pass-key-close,
.site-dialog-input-pass .pass-key-open{
	position: absolute;
	background-size: 25px 25px;
	background-repeat: no-repeat;
	background-position: center 5px;
	width: 40px;
	height: 50px;
	bottom: 10px;
	right: 0;
/*	left: 100px;*/
	z-index: 0;
	cursor: pointer;
}

.site-dialog-input-pass .pass-key-close{
	background-image: url(/images/guest/icon_eye_gray_slash.svg);
}

.site-dialog-input-pass .pass-key-open{
	background-image: url(/images/guest/icon_eye_gray.svg);
}

.site-dialog-label{
	font-size: 14px;
	font-weight: 700;
	position: relative;
	margin-bottom: 3px;
}


.site-dialog-label span{
	font-size: 12px;
	color: #919191;
	font-weight: 500;
}

.site-dialog-label:after{
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -32px;
	z-index:1;
}


.site-dialog-label.tel:after{
	background-image: url(/images/guest/icon_tel_gray.svg);
}


.site-dialog-label.pass:after{
	background-image: url(/images/guest/icon_pass_gray.svg);
}

.site-dialog-label .error_balloon,
.site-dialog-check .error_balloon{
	display:none;
	position:absolute;
	box-sizing:border-box;
	top:-14px;
	left:calc(100% - 115px);
	width:125px;
	height:52px;
	margin:0;
	padding:7px;
	padding-left:21px;
	background-color:#FFEF2F;
	box-shadow:2px 2px rgba(0, 0, 0, 0.16);
	border-radius:9px;
	font-size:11px;
	line-height: 1.3;
	text-indent:-15px;
	z-index:1;
}

.site-dialog-check .error_balloon{
	top:-60px;
	left:170px;
	left:calc(100% - 170px);
}

.site-dialog-label .error_balloon:after,
.site-dialog-check .error_balloon:after{
	display:block;
	position:absolute;
	content:"";
	width:10px;
	height:12px;
	top:100%;
	left:50px;
	background-image:url("/images/guest/icon_error_balloon_tail.svg");
	background-size:cover;
	background-position:right;
	background-repeat:no-repeat;
	transform: scale(-1, 1);
}

.site-dialog-label .error_balloon.short_balloon{
	width:105px;
}

.site-dialog-label .error_balloon.open,
.site-dialog-check .error_balloon.open{
	display:flex;
	align-items:center;
}

button{
	appearance:none;
}

.site-dialog-btn{
	width: 235px;
	height: 52px;
	font-size: 15px;
	color: #FFF;
	font-weight: 500;
	border-radius: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin:10px auto;
	border: none;
	position: relative;
	padding-left:20px;
	box-sizing: border-box;
}

.site-dialog-btn:before{
	content: "";
	width: 28px;
	height: 28px;
	background-size: contain;
	position: absolute;
	top:0;
	bottom:0;
	left:24px;
	margin:auto;
}


.reg .site-dialog-btn{
	background-color: #ff6179;
	box-shadow: 3px 3px 6px rgba(255,97,121,.5);
}

.reg .site-dialog-btn:before{
	background-image:url(/images/guest/icon_reg_white.svg);
}


input#check_agree[type="checkbox"]:checked ~ .site-dialog-btn {
	background-color: #FF294A;
	box-shadow: 3px 3px 6px rgba(253,14,51,.5);
}


.login .site-dialog-btn{
	background-color: #6E73FF;
	box-shadow: 3px 3px 6px rgba(110,115,252,.5);
}

.login .site-dialog-btn:before{
	background-image:url(/images/guest/icon_login_white.svg);
}

.site-dialog-link-btn{
	width: 235px;
	height: 42px;
	border:1px solid #888;
	border-radius: 100px;
	font-size: 13px;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	margin:8px auto;
	color: #333;
}



input[type=checkbox] {
	display: none;
}


.site-dialog-check {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	padding: 0 0 0 30px;
	position: relative;
	width: auto;
	user-select: none;
	margin: 0 0 10px 30px;
	font-size: 14px;
}

.site-dialog-check::before {
	content: '';
	display: block;
	border: 1px solid #888;
	border-radius: 5px;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 22px;
	height: 22px;
}

 .site-dialog-check::after {
	content: '';
	display: block;
	background: #6E73FC url(/images/guest/icon_check_white.svg) no-repeat;
	background-size: contain;
	border-radius: 5px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 22px;
	height: 22px;
	opacity: 0;
	z-index: 2;
}

@media screen and (max-width:350px) {
	.site-dialog-check{
		margin-left:20px;
		font-size:13px;
	}

	.site-dialog-label .error_balloon,
	.site-dialog-check .error_balloon{
		width:100px;
		padding:5px;
		padding-left:15px;
		left:calc(100% - 85px);
		font-size:10px;
		text-indent:-10px;
	}

	.site-dialog-check .error_balloon{
		left:160px;
	}

	.site-dialog-label .error_balloon.short_balloon{
		width:85px;
	}

}


input[type=checkbox]:checked + .site-dialog-check::after {
    opacity: 1;
}


input[type=checkbox]:checked + .site-dialog-check::before {
	border: 2px solid #6E73FC;
	transition: .1s;
}

input[type=checkbox]:checked + .site-dialog-check::after {
	opacity: 1;
	transition: .1s;
}

input[type=checkbox]:checked + .site-dialog-check:hover::after {
	width: 22px;
	height: 22px;
	left: 0px;
	border: 5px;
	opacity: 1;
	z-index: 1;
	background: #6E73FC url(/images/guest/icon_check_white.svg) no-repeat;
	background-size: contain;
}

.login .site-dialog-btn{
	
}


.skip-link{
	display: none;
}


.warning-text {
	display:none;
	text-align:center;
	padding:5px;
	background-color:#FFEF2F;
	border-radius: 10px;
	font-weight:900;
	color:red;
	cursor: pointer;
}

.warning-text.open {
	display:block;
}

.site-program-wrap{
	padding:25px 0 30px;
}

.site-program-contents{
	position: relative;
	margin-top: 40px;
	height: 276px;
}


.site-program-contents-photo{
	
}

.site-program-contents-photo img{
	width: 180px;
	height: 276px;
	object-fit: contain;
}

.site-program-contents-block{
	width: 140px;
	height: 140px;
	position: absolute;
	right: -1%;
	top:0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}



.site-program-contents-block-h{
	font-size: 15px;
	color: #333;
	font-weight: 500;
	margin-bottom: 4px;
	text-align: center;
}


.site-program-contents-block-desc{
	font-size: 13px;
	color: #757575;
}


.site-program-contents-text{
	width: 250px;
	font-weight: 500;
	height: fit-content;
	padding:5px 0px;
	position: absolute;
	bottom:10px;
	right: 0;
	line-height: 1.7;
	background-color: rgba(255,255,255,0.5);
}

.site-program-contents-label{
	position: absolute;
	left: 0;
	top:-30px;
	width: 80px;
	height: 60px;
	font-size: 14px;
	font-weight: bold;
	color: #FFF;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index:3;
	text-align: center;
}

.site-program-contents-label span{
	font-size: 12px;
}


.site-program-contents-label.max{
	background-color: #aa000acc;
}
.site-program-contents-label.eye{
	background-color: rgba(166,26,125,0.8);
}
.site-program-contents-label.jukujo{
	background-color: rgba(124,33,167,0.8);
}
.site-program-contents-label.zero{
	background-color: rgba(0,0,255,0.8);
}
.site-program-contents-label.eclub{
	width: 95px;
	background-color: rgba(6,93,99,0.8);
}
.site-program-contents-label.meijin{
	background-color: rgba(185,19,19,0.8);
}
.site-program-contents-label.onasapo{
	background-color: rgb(48 174 25 / 80%);
}

.site-program-contents-label.vc{
	background-color: rgb(196 205 14 / 80%);
}

.right .site-program-contents-photo {
	position: absolute;
	right: 0;
}
.right .site-program-contents-block{
	left: -1%;
}

.right .site-program-contents-text {
	left:0;
}

.right .site-program-contents-label{
	right: 0;
	left: auto;
}

.site-btn01{
	width: 175px;
	height: 35px;
	border: 1px solid #888;
	border-radius: 100px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	color: #333;
	background-color: #FFF;
	padding-right: 10px;
	box-sizing: border-box;
	line-height: 0;
	margin-top: 20px;
	
}

.site-btn01 > a{
	display: block;
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
	text-decoration: none;

}

.site-reg-btn01-fixed{
	position: fixed;
	bottom: 0;
	height: 86px;
	width: 100%;
	background-color: rgba(255,255,255,0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	backdrop-filter: blur(2px);
	transform: .3;
	z-index:9;
	box-shadow: -2px 0 6px rgba(23,55,128,0.1);
	padding-bottom: env(safe-area-inset-bottom);
}

.site-reg-btn01 a,
	.site-reg-login a,
	.site-reg-btn-fixed a,
	.site-reg-other a{
		width: 290px;
	}

.site-reg-btn01 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #343aee;
	border-radius: 10px;
	width: 315px;
	height: 50px;
	color: #fff;
	font-size: 18px;
}
.site-reg-btn01 a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.site-reg-btn01 a:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
	margin: auto;
	width: 28px;
	height: 28px;
	background-image: url(/images/guest/icon_reg_wt.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.site-reg-btn01_item {
	line-height: 105%;
	text-align: center;
}

.site-reg-btn01_item span{
	color: #fff494;
	font-weight: bold;
	font-size: 18px;
}

.site-reg-btn01_item:nth-of-type(1){
	width: 40%;
	margin-left: 38px;
}

.site-reg-btn01_item:nth-of-type(2){
	width: 60%;
	margin-right: 10px;
}
.site-reg-btn01_font {
	font-size: 15px;
}



.site-reg-login01 {
	margin-top: 15px;
}

.site-reg-login01 a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	border-radius: 10px;
	width: 315px;
	height: 50px;
	color: #333;
	font-size: 18px;
	position: relative;
}


.site-reg-login01 a:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
	margin: auto;
	width: 28px;
	height: 28px;
	background-image: url(/images/guest/icon_login_blue.svg);
	background-repeat: no-repeat;
	background-size: contain;
}


.site-reg-btn01-fixed a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #343aee;
	border-radius: 10px;
	width: 230px;
	height: 50px;
	color: #fff;
	font-size: 15px;
	position: relative;
}


.site-reg-login01-fixed {
	margin-left: 8px;
}

.site-reg-login01-fixed a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #343aee;
	border-radius: 10px;
	width: 70px;
	height: 50px;
	color: #FFF;
	font-size: 15px;
	position: relative;
}



.age_privacy_wrap{
	margin-top: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.age_privacy_checkbox{
	margin-right: 15px;
	display: flex;
	align-items: center;
}

.age_privacy_checkbox input{
	width:20px;
	height:20px;	
}

.no-post{
	background-color: #ccc !important;
	opacity: 0.8;
}


#age_privacy{
	-webkit-appearance: auto !important;
	appearance:auto !important;
	background-color: transparent;
	border:1px solid #ccc;
	color:#333;
}


#age_privacy:checked{
	background-color: #2668FB !important;
	border:1px solid #2668FB !important;
}