
/****************************************
common parts
*****************************************/
.btn{
	color: #fff;
	display: inline-block;
	font-weight: bold;
	font-size: 1.5em;
	padding: .5em 4em;
	position: relative;
}
@media screen and (max-width:768px){
	.btn{
		padding: .5em 2em;
	}
}
.btn_man{
	background: #c1a67d;
}
.btn_woman{
	background: #c40048;
}
.btn_arrow{
	height: 24px;
	margin-left: 1em;
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
}
/*cv*/
.cv{
	background: #c1a67d;
    color: #fff;
    padding: 2em 0;
}
.cv .btn{
	background: #fff;
    color: #c1a67d;
    border-radius: 99em;
}
/*decoration*/
.decos{
	position: relative;
}

.deco1{
	border: 1px solid #c40048;
	height: 200px;
	left: -20px;
	position: absolute;
	width: 200px;
	top: -20px;
}
@media screen and (max-width:768px){
	.deco1{
		height: 100px;
		left: -10px;
		width: 100px;
		top: -10px;
	}
}
.deco2{
	border: 1px solid #c1a67d;
	bottom: -20px;
	height: 200px;
	position: absolute;
	right: -20px;
	width: 200px;
}
@media screen and (max-width:768px){
	.deco2{
		bottom: -10px;
		height: 100px;
		right: -10px;
		width: 100px;
	}
}
.deco1_s{
	height: 100px;
	left: -20px;
	top: -20px;
	width: 100px;
}
@media screen and (max-width:768px){
	.deco1_s{
		height: 50px;
		left: -10px;
		top: -10px;
		width: 50px;
	}
}
.deco2_s{
	bottom: -20px;
	height: 100px;
	right: -20px;
	width: 100px;
}
@media screen and (max-width:768px){
	.deco2_s{
		bottom: -10px;
		height: 50px;
		right: -10px;
		width: 50px;
	}
}
.date_item:nth-child(2) .deco1{
	bottom: -20px;
	top: auto;
}
.date_item:nth-child(2) .deco2{
	bottom: auto;
	top: -20px;
}
@media screen and (max-width:768px){
	.date_item:nth-child(2) .deco2{
		right: 20px;
	}
}
.regist_man .deco1{
	bottom: -20px;
	left: 20px;
	top: auto;
}
.regist_man .deco2{
	bottom: auto;
	right: 20px;
	top: -20px;
}
.regist_woman .deco1{}
.regist_woman .deco2{}

.sec{
	padding: 10em 0;
}
@media screen and (max-width:768px){
	.sec{
		padding: 5em 0;
	}
}
.sec_gray{
	background: #eae8e4;
}
.sec_titles{
	font-family: 'Noto Serif JP', serif;
}
.sec_title_sub{
	color: #977035;
	font-size: .875em;
	font-weight: normal;
}
.sec_title_sub.for_women{
	color: #c40048;
}
.sec_title_main{
	font-size: 2.25em;
	font-weight: normal;
}
#topcontrol{
	background: #222;
	border-radius: 99em;
	color: #fff;
	height: 40px;
	text-align: center;
	width: 40px;
}
#topcontrol .icon{
	padding-top: 8px;
}

/****************************************
LINE BUTTON
*****************************************/
.line-btn{
padding-top: 2em;
}
.line-btn .btn_man {
    background: #19bb03;
}
.line-btn .btn{
	font-size: 2.5em;

}
@media screen and (max-width: 768px){
.line-btn .btn {
    font-size: 1.5em;
    padding: 0.5em 4em;
}
}

.btn_line {
    height: 44px;
    margin-left: 0;
    position: absolute;
    left: 1em;
    top: 50%;
    transform: translateY(-50%);
}

/****************************************
header
*****************************************/
.header{
	background: #222;
	position: fixed;
	top: 0;
	width: 90%;
	z-index: 99;
}
@media screen and (max-width:768px){
	.header{
		width: 95%;
	}
}
.header a{
	color: #fff;
	font-weight: bold;
}
.logo{
	font-size: 16px;
	margin: 0;
	padding: 2em;
	text-align: left;
}
@media screen and (max-width:768px){
	.logo{
		padding: 1em;
	}
}
.logo img{
	height: 34px;
}
@media screen and (max-width:768px){
	.logo img{
		height: 20px;
	}
}
/*gnav*/
@media screen and (max-width:768px){
	.gnav-wrap{
		background: rgba(0,0,0,0.8);
		display: none;
		height: 100vh;
		position: absolute;
		top: 0;
		width: 100%;
	}
	.gnav{
		height: 100%;
		padding-top: 6em;
		position: absolute;
		top: 0;
		width: 100%;
	}
}
.gnav-menu-item{
	align-items: center;
	display: flex;
}
@media screen and (max-width:768px){
	.gnav-menu-item{
		display: block;
		padding: 1em 0;
	}
}
.gnav-menu-item a{
	display: block;
	font-size: .875em;
	padding: 0 1em;
}
@media screen and (min-width:769px){/*pc*/
	.gnav-menu-item a{
		line-height: 104px;
	}
}
@media screen and (max-width:768px){
	.gnav-menu-item a{
		font-size: 1.71em;
	}
}
/*ログイン*/
.gnav-menu-item-login{
	background: #c40048;
}
/*会員登録*/
.gnav-menu-item-regist{
	background: #c1a67d;
}
/*icon-humburger*/
.icon-hamburger {
	cursor: pointer;
	height: 25px;
	margin: 0 auto;
	position: fixed;
	right: 2.5em;
	top: 1em;
	transition: .5s;
	width: 30px;
	z-index: 99;
}	
.icon-hamburger .bar {
	display: inline-block;
	width: 30px;
	height: 2px;
	background-color: #fff;
	position: absolute;
	left: 0;
	transition: .25s ease-in-out;
}
#bar01 {top: 0;}
#bar02 {top: 10px;}
#bar03 {top: 20px;}
.active.bar{
	background: #fff;
}
.active#bar01 {
	top: 10px;
	transform: rotate(45deg);
}
.active#bar02 {width: 0;}
.active#bar03 {
	top: 10px;
	transform: rotate(135deg);
}

.main{
	background: #fff;
	width: 90%;
}
@media screen and (max-width:768px){
	.main{
		width: 95%;
	}
}
/****************************************
footer
*****************************************/
.footer{
	background: #222;
	color: #fff;
	padding: 4em 0;
	text-align: left;
	width: 90%;
}
.footer_nav li{
	margin-left: 1em;
}
@media screen and (max-width:768px){
	.footer_nav li{
		margin-top: 1em;
	}
}
.footer_nav a{
	color: #fff;
	font-weight: bold;
}
.footer_nav_main a{
	font-size: .875em;
	display: inline-block;
	padding: .5em 0;
	vertical-align: middle;
}
.footer_nav_login a{
	background: #c40048;
	padding: .5em 1em;
}
.footer_nav_regist a{
	background: #c1a67d;
	padding: .5em 1em;
}
.footer_nav_sub a{
	color: #999;
	font-size: .75em;
}
.footer_nav .js_modal_open{
	background: #fff;
	color: #222;
	display: inline-block;
	font-size: .75em;
	padding: .5em;
}
/****************************************
modal
*****************************************/
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
	z-index: 99;
}
.modal_bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal_content{
    background: #fff;
    left: 50%;
    padding: 2em;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 60%;
}
@media screen and (max-width:768px){
	.modal_content{
		width: 90%;
	}
}
.modal_close{
	color: #fff;
	font-size: 2em;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: -2em;
}
.modal .btn{
	background: #c1a67d;
	border-radius: 99em;
}

/****************************************
totop
*****************************************/
.totop{
	width: 10%;
}
@media screen and (max-width:768px){
	.totop img{
		width: 10px;
	}
}
/****************************************
kv
*****************************************/
.kv{
	color: #fff;
	width: 90%;
}
.kv_catch{
	display: inline-block;
	font-family: 'Noto Serif JP', serif;
	font-size: 48px;
	position: relative;
}
@media screen and (max-width:768px){
	.kv_catch{
		font-size: 36px;
		text-align: center;
		width: 100%;
	}
}
.kv_catch_deco{
	height: 50px;
	position: absolute;
	width: auto!important;
}
@media screen and (max-width:768px){
	.kv_catch_deco{
		height: 30px;
	}
}
.kv_catch_deco1{
	left: -40px;
	top: -10px;
}
@media screen and (max-width:768px){
	.kv_catch_deco1{
		left: 20px;
	}
	.kv_catch_deco1_women{
		left: 10px;
	}
	.kv_catch_deco1_footer_men{
		left: 40px;
	}
	
}
.kv_catch_deco2{
	right: -40px;
	bottom: -10px;
}
@media screen and (max-width:768px){
	.kv_catch_deco2{
		bottom: -10px;
		right: 40px;
	}
	.kv_catch_deco2_men{
		right: 0;
	}
}
.kv_read{
	font-weight: bold;
}
/****************************************
kv_footer
*****************************************/
.kv_footer{
	font-family: 'Noto Serif JP', serif;
	padding: 10em 0;
	text-align: center;
}
.kv_footer .kv_catch{
	font-size: 30px;
}
.kv_footer .kv_subcatch{
	color: #c1a67d;
}
.kv_footer .kv_subcatch.for_women{
	color: #c40048;
}
/****************************************
date
*****************************************/
.date{
	background: url("/uploads/images/date-bg.jpg") no-repeat center center/cover;
	color: #fff;
}
@media screen and (min-width:769px){
	.date_titles{
		width: 30%;
	}
	.date_read{
		width: 66%;
	}
}
.date_item{
	position: relative;
}
@media screen and (min-width:769px){
	.date_item:nth-child(2){
		padding-top: 2em;
	}
	.date_item:nth-child(3){
		padding-top: 4em;
	}
	.date_item:nth-child(4){
		padding-top: 6em;
	}
}
.date_item_label{
	background: #c1a67d;
	font-size: 1.125em;
	left: 2em;
	padding: .5em 1em;
	position: absolute;
	transform: translateY(-50%);
}
.date_item_label.for_women{
	background: #c40048;
}
/****************************************
safety
*****************************************/
.safety_item{
	text-align: center;
}
.safety_item img{
	height: 35px;
}
.safety_item .small{
	color: #666;
	font-size: .625em;
	line-height: 1.4;
}
/****************************************
regist
*****************************************/
.regist{
	color: #fff;
	margin-top: -10em;
	padding-bottom: 10em;
	position: relative;
}
@media screen and (max-width:768px){
	.regist{
		margin-top: -5em;
		padding-bottom: 5em;
	}
}
.regist_woman{
	padding-top: 4em;
}
.regist_item_bg{
	padding: 8em 4em;
}
@media screen and (max-width:768px){
	.regist_item_bg{
		padding: 8em 2em;
	}
}
.regist_man .regist_item_bg{
	background: url("/uploads/images/regist-man-bg.jpg") no-repeat center center/cover;
}
.regist_woman .regist_item_bg{
	background: url("/uploads/images/regist-woman-bg.jpg") no-repeat center center/cover;
}
.regist_label{
	background: rgba(255,255,255,0.8);
	border-radius: 10px;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.5em;
	padding: 1em 2em;
	text-align: center;
}
.regist_label_man{
	color: #977035;
}
.regist_label_woman{
	color: #c40048;
}
/*for-men********************************************************************************/
/****************************************
lecture_box
*****************************************/
.lecture_box{
	background: #c1a67d;
	color: #fff;
	font-weight: bold;
	padding: 1em 0;
	text-align: center;
}
/****************************************
female_member
*****************************************/
#female_member{
	background: #eadfe3;
}
@media screen and (min-width:769px){/*pc*/
	.female_member_item:nth-child(2){
		padding-top: 2em;
	}
	.female_member_item:nth-child(3){
		padding-top: 4em;
	}
}
.female_member_item_img{
	display: block;
}

/****************************************
date_for_men
*****************************************/
.date_for_men{
	background: url("/uploads/images/date-bg-for-men.jpg") no-repeat center center/cover;
}
/****************************************
voice_for_men
*****************************************/
.voice_for_men{
	background: #eae8e4;
}
.voice_item{
	border-bottom: 1px dashed #977035;
	padding-bottom: 2em;
}
.voice_item_icon{
	margin-right: 2em;
}
@media screen and (max-width:768px){
	.voice_item_icon{
		margin-right: 10%;
		width: 10%;
	}
}
.voice_item_icon img{
	height: 60px;
}
@media screen and (max-width:768px){
	.voice_item_icon img{
		height: auto;
	}
}
@media screen and (max-width:768px){
	.voice_item_list{
		width: 80%;
	}
}
.voice_item li{
	color: #977035;
	font-weight: bold;
	margin-right: 1em;
}
/****************************************
membership
*****************************************/
.membership{
	background: #f1f1f1;
}
.plan_item{
	background: #fff;
	color: #666;
	font-family: 'Noto Serif JP', serif;
	padding: 2em;
}
@media screen and (min-width:769px){/*pc*/
	.plan_name{
		width: 40%;
	}
}
.plan_name_label{
	background: #666;
	border-radius: 99em;
	color: #fff;
	padding: .3em 2em;
}
.plan_name_title{
	font-size: 2.25em;
}
@media screen and (min-width:769px){/*pc*/
	.plan_info{
		width: 60%;
	}
}
.plan_info th,
.plan_info td{
	padding: 1em;
}
.plan_info th{
	text-align: left;
}
.plan_info td{
	font-size: 1.125em;
}
/*standard*/
.plan_item.standard{
	border: 1px solid #666;
}
/*gold*/
.plan_item.gold{
	border: 1px solid #c1a67d;
	color: #977035;
}
.gold .plan_name_label{
	background: #c1a67d;
	border-radius: 99em;
	color: #fff;
}
/*pratinum*/
.plan_item.pratinum{
	background: #9f918a;
	color: #fff;
}
.note{
	font-size: .75rem;
	vertical-align: top;
}
/*black*/
.plan_item.black{
	background: #333;
	color: #fff;
}
.black .plan_name_label{
	background: #fff;
	color: #333;
}
/*svip*/
.plan_item.svip{
	background: #c1a67d;
	color: #fff;
}
.svip .plan_name_label{
	background: #fff;
	color: #977035;
}
/****************************************
agreement
*****************************************/
.agreement{
	background: #f1f1f1;
}
.agreement_box{
	background: #fff;
	padding: 2em;
	max-height: 300px;
	overflow-y: scroll;
}
/****************************************
regist_for_men
*****************************************/
.regist_for_men{
	background: url("/uploads/images/regist-for-men-bg.jpg") no-repeat center center/cover;
	padding: 10em 0;
}
.regist_for_men_text{
	color: #fff;
	font-weight: bold;
}
.regist_tel{
	border: 1px solid #fff;
	border-radius: 99em;
	color: #fff;
	font-size: 1.125em;
	font-weight: bold;
	padding: 1em 5em;
}
.regist_for_men .regist_label_man{
	display: inline-block;
}
/*for-women********************************************************************************/
/****************************************
lecture_box
*****************************************/
.lecture_box.for_women{
	background: #c40048;
}
/****************************************
date_for_men
*****************************************/
.date_for_men{
	background: url("/uploads/images/date-bg-for-men.jpg") no-repeat center center/cover;
}
/****************************************
voice_for_women
*****************************************/
.voice_for_women{
	background: #eadfe3;
}
.voice_for_women .voice_item{
	border-bottom: 1px dashed #c40048;
	padding-bottom: 2em;
}

.voice_for_women .voice_item li{
	color: #c40048;
}
/****************************************
faq
*****************************************/
.faq{
	background: #eadfe3;
}
.faq_item{
	border-bottom: 1px dashed #c40048;
	padding-bottom: 2em;
}
.faq_item_q{
	color: #c40048;
	display: block;
	font-size: 1.125em;
	font-weight: bold;
	position: relative;
	padding: 0 2em;
}
.faq_item_q:before{
	content: 'Q.';
	left: 0;
	position: absolute;
}
.faq_item_q:after{
	content: '\f078';
	font-family: 'Font Awesome 5 free';
	font-weight: 900;
	position: absolute;
	right: 0;
	top: 0;
}
.faq_item_q.open:after{
	content: '\f077';
}
.faq_item_a{
	color: #977035;
	display: none;
	margin-top: 1em;
	position: relative;
	padding-left: 2em;
}
.faq_item_a:before{
	content: 'A.';
	left: 0;
	position: absolute;
}
/****************************************
regist_for_women
*****************************************/
.regist_for_women{
	background: url("/uploads/images/regist-for-women-bg.jpg") no-repeat center center/cover;
	padding: 10em 0;
}
.regist_for_women .regist_label_woman{
	color: #c40048;
	display: inline-block;
}
/****************************************
fixed_banner
*****************************************/
.fixed_banner{
	background: #c40048;
	border-radius: 10px;
	bottom: 0;
	xdisplay: none;
	font-weight: bold;
	padding: 1em;
	position: fixed;
	right: 0;
	text-align: center;
}
@media screen and (max-width:768px){
	.fixed_banner{
		border-radius: 0;
		padding: .5em;
		width: 100%;
	}
}
.fixed_banner a{
	color: #fff;
	display: block;
}
.fixed_banner .text1{
}
.fixed_banner .icon{
	height: 80px;
	vertical-align: middle;
}
@media screen and (max-width:768px){
	.fixed_banner .icon{
		height: 60px;
	}
}
.fixed_banner .fas{
	vertical-align: middle;
}
/*end for-women********************************************************************************/



/****************************************
fixed_bg
*****************************************/
.fixed_bg{
	background: url("/uploads/images/fixed-bg.jpg") no-repeat center center/cover;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: -1;
}
@media screen and (max-width:768px){
	.fixed_bg{
		background: url("/uploads/images/fixed-bg-sp.jpg") no-repeat center center/cover;
	}
}
/*men*/
.fixed_bg.for_men{
	background: url("/uploads/images/fixed-bg-for-men.jpg") no-repeat center center/cover;
}
@media screen and (max-width:768px){
	.fixed_bg.for_men{
		background: url("/uploads/images/fixed-bg-for-men-sp.jpg") no-repeat center center/cover;
	}
}
/*women*/
.fixed_bg.for_women{
	background: url("/uploads/images/fixed-bg-for-women.jpg") no-repeat center center/cover;
}
@media screen and (max-width:768px){
	.fixed_bg.for_women{
		background: url("/uploads/images/fixed-bg-for-women-sp.jpg") no-repeat center center/cover;
	}
}
/****************************************
fixed_share
*****************************************/
.fixed_share{
	position: fixed;
	right: 5%;
	text-align: center;
	top: 50%;
	transform: translate(-50%,-50%);	
}
.fixed_share_item a{
	color: #fff;
}
/****************************************
下層ページ共通
*****************************************/
.page_title{
	color: #222;
	font-family: 'Noto Serif JP', serif;
	font-size: 36px;
	font-weight: normal;
	text-align: left;
}
@media screen and (max-width:768px){
	.page_title{
		font-size: 24px;
	}
}
/****************************************
フォーム共通
*****************************************/
.form{
	background: #f9f9f9;
	padding: 4em;
}
@media screen and (min-width:769px){
	.form .label{
		width:30%;
	}
	.form .cnt{
		width: 66%;
	}
}
.form .form-group{
	float: none;
}
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form input[type="number"],
.form input[type="password"]{
	font-size: 16px;
	padding: .5em;
	width: 100%;
}
.form input[type="submit"]{
	background: #c1a67d;
	color: #fff;
	font-size: 16px;
	padding: .5em 4em;
}
.form .btn_back{
	font-size: 16px;
	padding: .5em 4em;
}
/****************************************
デフォルトデザイン上書き
*****************************************/
ul.btn li a {
	color: #fff;
}

.tel{
    background: #c1a67d;
    border-radius: 99em;
}