


/*==============================================
  common
==================================================*/
@media screen and (max-width: 750px) {
.sp_main{display: block;}

.err_wrap {
    padding-top: 45px; width: 100%;
}
#form_area .container, .container2{
	width: 90%;
    max-width: inherit;
    height: auto;
    margin: 5% auto 0;
    padding: 0 0 6% 0;
}
#form_area .container h2{
	font-size: 22px;
	padding-bottom: 8%;
}

#form_area .container .subcopy{
	font-size: 13px;
	padding-bottom: 12%;
	line-height: 1.7;
}

#form_area .views .item {display: block; display: block;}

#form_area .views .item .heading {
    padding-right: 0;
    padding-left: 0;
    width: 100%;
	padding: 0 0 0 0;
	border-bottom: none;
	font-weight: bold;
	font-size: 15px;
}
#form_area.member_form .views .item .heading{width: 100%;}

#form_area .views .item .heading p {
	font-weight: 300;
	font-size: 12px;
	padding-top: 6px;
}

.item .heading .req {
  	display: inline-block;
	margin-left: 1em;
	padding: 0.4em .5em 0.5em;
	color: #fff;
	font-size: 82%;
	line-height: 1;
}
#form_area .views .item .main {
    padding: 3.5% 0 9%;
    width: 100%;
	border-bottom: none;
}
.input-txt, .input-textarea {background-color: #fbfbfb;}
.input-txt, .input-select, .input-textarea {
   	padding: 8px 4%;
	border: 1px solid #ccc;
	font-size: 16px;
	border-radius: 4px;
	margin-right: 0;
	margin-bottom: 10px;
}
.wide-xl {width: 92%;}
.wide-l { width: 92%;}
.wide-m {width: 92%;}
.wide-xs {width: 92%;}
.tac {text-align: center; margin: 0 auto 10%;}
.btn.re-contact, .btn_area2 a , a.conf_btn_close{
    padding-top: .9em;
    padding-bottom: .9em;
    padding-right: 0;
    padding-left: 0;
    width: auto;
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.8px;
    display: inline-block;
    font-size: 17px;
    padding: 0.2em 1.2em;
    line-height: 1.8;
}


.member_form .btn_area2, .member_form .btn_area{display: inline-block; vertical-align: top;}
.btn.re-contact:hover {
  color: #0088cc;
  border: 2px solid #0088cc;
  background-color: #fff;
}
#form_area .error-top{
color: #fff;
font-size: 16px;
padding: 7px 0;
margin:0 0 40px;

}
#form_area .tac{/*width: 92%;*/ margin: 0 auto;}
.tac input + input, .tac input + a,  .btn_area2 a{
	margin-left: 0;
	margin-bottom: 1em;
}
#form_area .confirm2{
margin: 10px auto 0;
text-align: center;
display: block;
	width: 100%;
		}	
#form_area .confirm2 .tac{
	float: none;
		padding: 0 0;	
	width: 96%;
	margin: 0 auto 15px;
		}

/* =========================================================
		mypage login
========================================================= */


#mypage_area .container{
width: 90%;
max-width: inherit;
height: auto;
margin: 47px auto 0;
padding: 10% 0 18% 0;
}
#mypage_area .container h2{
    font-size: 20px;
    padding-bottom: 0.4em;
    text-align: left;
}

#mypage_area .container .subcopy{
	font-size: 13px;
	padding-bottom: 10%;
	line-height: 1.6;
}
.pw_re_inp a{
	top: 45px;
    right: 1%;
    z-index: 10;
}
#mypage_area .sysLoginForm{margin: 0 auto;	width: 100%;}
#mypage_area .sysFormLabel { text-indent: 2em;}
#mypage_area .sysFormField { margin: 5px 0 8px 8%;}
#mypage_area input[type="email"], #mypage_area input[type="password"] {
    -webkit-appearance: none;
    padding: 7px 4% !important;
    width: 92%;
    line-height: 2;
    background: #fff;
    border: 1px solid #dddddd;
    border-radius: 0;
	font-size: 16px;
}
#mypage_area .error-message {
	padding: 3px 12px;
    margin: -1% 0 0;
    width: 92%;
}

.sysLoginButton{
	display: block;
	width: 90%;
	height: 50px;
	margin: 8% auto 15px;
	padding: 10px;
	color: #fff;
	text-align: center;
	background: #333;
	border-radius: 5px;
	text-shadow: none;
	font-size: 14px;
	border: 2px solid #333 !important;
	transition: all .3s;
}
#mypage_area .container.my_wrap { margin-bottom: -10%;}
.mypage_title{margin: 1% 0 0;}
#mypage_area .movie_list a{
position: relative;
display: block;
padding: 3% 0;
color: #fff;
font-size: 16px;
text-align: center;
font-weight: 300;
line-height: 1.4;
border: 2px solid #0088cc;
	background: #0088cc;
	text-decoration: none;
	transition: all .3s;
	width: 100%;
	margin: 0 auto;

}

#mypage_area h4{
	font-size: 14px;
	padding: 12% 0 3%;
}

#mypage_area .movie_thum li{
	float: left;
	width: 32%;
	margin-right:2%;
	margin-bottom: 2%;
}

#mypage_area .movie_thum li:nth-child(3n){
	margin-right:0; 
}


#mypage_area .movie_thum li:nth-child(4n){
	margin-right:2%;
}
#mypage_area .error-top {
    font-size: 13px;
    padding: 0 1%;
margin-bottom: 23px;
}


/* ======mypage login==================================== */
.course_txt_guide{padding: 0.5em 1em; margin: 2% 0 3% 0;}
.course_txt_wrap {
	margin-bottom: 4.5%;
    padding-bottom: 3.5%;
}

#form_area .container .course_txt_ttl {
    font-size: 24px;
    padding-bottom: 0;
    line-height: 1.3;
}
#form_area .container h2{padding-bottom: 3%;}
a.cs_btn{padding: 0 0.3em; display: inline;}
a.cs_btn::after{margin-left: 2.5em; }
p.course_txt_guide {
    font-size: 1em;
    padding: 0.5em 1em 0.5em 2.5em;
    margin: 2% 0 2% -0.5em;
    text-align: left;
	text-indent: -1.62em;
	width: 88%;
}
#form_area .container .course_txt_ttl{text-align:left}
p.course_txt_guide a{display: inline;}
p.course_txt_guide a::after{display: inline;}
/* ==================add=================== */
.member_form select,.member_form input[type="text"]{font-size: 16px; margin-bottom: 2%; transform: scale(0.92); transform-origin: left;}
#form_area.member_form .error-message{margin: 0 0 0 0.5em;}
#form_area.member_form .views .item .main{padding: 2.5% 0 4%; position: relative;}
#form_area.member_form .views .item{ border-bottom: solid 1px #e6e6e6;  margin-bottom: 1.5em;}
.agree_check.input_check { margin: 2% 0 0 -1.5em; font-size: 16px;}
#form_area.member_form .error-message.err_show{
	font-size: 12px;
    margin-top: -0.3em;
	padding: 0.2em 0.4em;
	width: 80%;
}
.member_form #form {
    margin: -3% 0 1%;
    border-top: solid 1px #e6e6e6;
    padding-top: 6%;
}
#form_area.member_form .error-message.err_show{display: block;}
#form_area #agree input[type="checkbox"]:checked + label::after{
left: 23px;
top: 11.5px;
}
#form_area.member_form .container{margin: 5% auto 0; padding: 0% 0 10% 0;}
.clearfix.conf_btn_area{     
	width: 100%;
    margin: 1% auto 10%;
    padding: 0;
    display: block;
    text-align: center;}
input.conf_btn, input.conf_btn.conf_btn_r, a.conf_btn, a.conf_btn_close{font-size: 17px; padding: 0.2em 1.2em;}


.done1 .thanks{
	font-size: 20px;
	padding-bottom: 3%;
	letter-spacing: 0.5px;
}
.done1 .thanks_text1{
	font-size: 15px;
	padding-bottom: 5%;
}
.thanks_box{width: 90%; margin: 0 auto;  padding: 4% 0 0; text-align: left;}
.ps_wrap {font-size: 15px;}
.ps_wrap dt, .ps_wrap dd{display: block;}
.ps_wrap dd{padding-left: 0;}
.thanks_box .otameshi {
    font-size: 17px;
    margin-bottom: 0.2em;
}
.thanks_text1{text-align: left;}
label.selectWrap.selectWrap3::after {
    right: 3em;
    top: -3px;
    display: inline-block;
    position: relative;
}

/* ==================pay=================== */
.pay_main_box {width: 100%;}
h3.pay_ttl {font-size: 17px; margin: 3% 0 6%;}
.pay_txt dt{width: auto;}
.pay_txt dt{width: 100%;}
dt.pay_conts_min {width: 50%;}
dl.pay_txt dt, dl.pay_txt dd {width: 100%;}
.pay_txt {margin: 0 0.3em 0.5em 0; width: 100%;}
.pay_conts {
	width: 100%;
    font-size: 15px;
    display: flex;
    flex-wrap: block;
    margin-bottom: 7%;
    padding-bottom: 3%;
    border-bottom: solid 1px #ccc;
}
.pay_sub_box { width: 100%;}
#paypal-button-container {margin-bottom: 10%; width: 100%;}
.pay_form { padding-bottom: 8%;}
.pay_btn_area {
    width: 49%;
    margin-left: -0.01em!important;
    padding-left: 0.1em;
    transform: scale(0.9);
    transform-origin: center top;
}
.credit {width: 100%;}


/*====mypage add
===================================================== */
.plan_presen{ text-align: left;}
#mypage_area .plan_presen .plan_presen_ttl {
    font-size: 1.24em;
    margin: 0.1em 0.2em 0.5em;
    text-align: left;
}
.plan_presen_ttl span {
    display: inline-block;
    margin-left: 0;
    margin-top: 0.05em;
    vertical-align: top;
}
.plan_presen_tb {margin: -1% 0 2% 0; font-size: 1.04em;     font-size: 14px;}
.plan_presen_tb dt{    margin-right: 0.2em;}
.plan_presen_tb dd{margin-top: -0.3em;}
.my_free_day{font-size: 17px; line-height: 1.28;}
.plan_presen_day {
    padding: 0.5em 0 0;
    font-size: 0.96em;
    margin-bottom: -0.5%;
    text-align: right;
}
#form_area.reset_wrap .error-message {padding: 3px 11px; margin: 0;}

#form_area.reset_wrap .input-txt, .input-select, .input-textarea{margin-bottom: 5px;}
#form_area.reset_wrap .views .item .main {padding: 2% 0}
#form_area.reset_wrap .views{margin-bottom: 3%;}

/*=== pay ttl
===================================================== */
.class_fm .pay_title1 {
    text-align: center;
    font-size: 18px;
    padding: 5% 4% 3.5% !important;
    margin: 0 !important;
    line-height: 1.35;
    text-align: left;
}
.class_fm a.conf_btn_close {
    left: 4%;
    bottom: -2px;
    padding-bottom: 3px;
    width: 140px;
}