@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Carattere&family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');

:root{
	--member_green1: #008767;
	--member_green2: #64743F;
	--login: #FFBB00;
	--garamond: "Carattere", cursive;
}

/* footer =====================*/
footer .copy{background: #3D3D3D; text-align: center; padding: 10px 5px;}
footer .copy small{font-family: var(--font_en); color: #fff; font-size: 14px;}

@media screen and (max-width: 640px){
	footer .copy{padding-bottom: 70px;}
	footer .copy small{font-size: 10px; letter-spacing: 0;}
}

#ckbc-about .inner{max-width: 1230px;}

.login_btn{margin: 0 auto; width: 100%; position: relative;}
.login_btn::before{content: ""; display: block; position: absolute; top: 0; left: 0; z-index: 2; aspect-ratio: 1 / 1;
	background-image: url(../../img/pages/ckbc-about/icon_free.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.login_btn::after{content: ""; display: block; position: absolute; bottom: 0; right: 0; z-index: 2; aspect-ratio: 1 / 1;
	background-image: url(../../img/pages/ckbc-about/icon_finger.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.login_btn > a{background-color: var(--login); display: block; text-align: center; color: #000;}
main p{letter-spacing: 0;}

.ckbcAbout_title{text-align: center; padding-top: 45px; margin-bottom: 40px;
	background-image: url(../../img/pages/ckbc-about/icon_book.svg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 40px;
}
.ckbcAbout_title h3{font-size: 20px; font-weight: 500;}
.ckbcAbout_title h3 b{font-family: var(--font_en); display: block; font-size: 50px; font-weight: 600; line-height: 1.2;}

@media screen and (max-width: 640px){
	.ckbcAbout_title{background-size: 30px; padding-top: 35px;}
	.ckbcAbout_title h3{font-size: 15px;}
	.ckbcAbout_title h3 b{font-size: 35px;}
}

#ckbcAbout_float{position: fixed; top: 30px; right: 40px; z-index: 5;}
#ckbcAbout_float .login_btn{width: 200px;}
#ckbcAbout_float .login_btn a{height: 50px; border-radius: 25px; display: flex; justify-content: center; align-items: center; font-size: 16px; font-weight: 600;}
#ckbcAbout_float .login_btn::before{width: 65px; top: 50%; transform: translateX(-50px) translateY(-50%);}
#ckbcAbout_float .login_btn::after{width: 30px; bottom: -15px;}

@media screen and (max-width: 640px){
	#ckbcAbout_float{position: fixed; top: auto; bottom: 0; left: 0; right: 0; z-index: 5;}
	#ckbcAbout_float .login_btn{width: 100%;}
	#ckbcAbout_float .login_btn a{border-radius: 0; font-size: 18px;}
	#ckbcAbout_float .login_btn::before{top: 0; transform: translateX(10px) translateY(-20px);}
	#ckbcAbout_float .login_btn::after{bottom: 2px; right: 10px;}
}


/* ckbcAbout_mv =====================*/
#ckbcAbout_mv{position: relative;}
#ckbcAbout_mv .mv_image{position: relative; z-index: 1;}
#ckbcAbout_mv .mv_image img{width: 100%;}
#ckbcAbout_mv .login_btn{max-width: 22vw; width: 100%; position: absolute; bottom: 13vw; left: 50%; transform: translateX(-50%); z-index: 2;}
#ckbcAbout_mv .login_btn::before{width: 5.5vw; transform: translate(-36%, -50%);}
#ckbcAbout_mv .login_btn::after{width: 3.4vw; transform: translate(20%, 30%);}
#ckbcAbout_mv .login_btn a{display: flex; justify-content: center; align-items: center; height: 4vw; border-radius: 5vw;}
#ckbcAbout_mv .login_btn a span{font-size: 1.5vw; font-weight: 600;}

@media screen and (max-width: 960px){}
@media screen and (max-width: 640px){
	#ckbcAbout_mv .login_btn{max-width: 35vw; bottom: 13vw}
	#ckbcAbout_mv .login_btn::before{width: 10.5vw; transform: translate(-50%, -50%);}
	#ckbcAbout_mv .login_btn::after{width: 8.4vw; transform: translate(40%, 30%);}
	#ckbcAbout_mv .login_btn a{height: 8vw;}
	#ckbcAbout_mv .login_btn a span{font-size: 2.6vw;}
}


/* ckbcAbout_lead =====================*/
#ckbcAbout_lead{background: #1B2405; padding: 110px 0 130px;}
#ckbcAbout_lead h2,
#ckbcAbout_lead h2 + p{text-align: center; color: #fff;}
#ckbcAbout_lead h2{font-size: 37px; margin-bottom: 40px;}
#ckbcAbout_lead h2 + p{font-size: 18px; line-height: 2.6;}

@media screen and (max-width: 960px){
	#ckbcAbout_lead{padding: 60px 0 80px;}
}
@media screen and (max-width: 640px){
	#ckbcAbout_lead{padding: 60px 0 40px;}
	#ckbcAbout_lead h2{font-size: 25px; margin-bottom: 20px;}
	#ckbcAbout_lead h2 + p{font-size: 15px; line-height: 2;}

}



/* ckbcAbout_service =====================*/
#ckbcAbout_service{background: #F7F8F1; padding: 50px 0 70px;}

.benefits_title{text-align: center; margin-bottom: 35px;}
.benefits_title span{font-size: 36px; font-weight: 500; letter-spacing: 5px; color: var(--member_green1); position: relative; padding: 0 70px 5px 75px; border-bottom: 3px solid var(--member_green1);}
.benefits_title span::before,
.benefits_title span::after{content: ""; display: block; width: 60px; aspect-ratio: 1 / 1;
	position: absolute; bottom: 0;
}
.benefits_title span::before{left: 0;
	background-image:url(../../img/pages/ckbc-about/benefits_title_01.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.benefits_title span::after{right: 0;
	background-image:url(../../img/pages/ckbc-about/benefits_title_02.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.benefits_list{justify-content: center;}
.benefits_box{width: calc(100% / 2); padding: 0 15px; margin: 0 0 40px;}
.benefits_boxInner{height: 100%; background: #fff; border: 1px solid #E3E3BD; border-radius: 20px;}
.benefits_number{text-align: center; border-bottom: 1px solid #E3E3BD; padding: 15px 5px;}
.benefits_number h4{font-size: 25px; font-weight: 500; line-height: 1.2; display: inline-block; position: relative; padding-left: 45px;}
.benefits_number h4 b{width: 40px; aspect-ratio: 1 / 1; color: #fff;
	background-image: url(../../img/pages/ckbc-about/icon_number.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	display: flex; justify-content: center; align-items: center; font-size: 18px;
	position: absolute; top: 50%; left: 0; transform: translateY(-50%);
}
.benefits_number h4 small{font-size: 80%;}

.benefits_text{padding: 20px;}
.benefits_text p{font-size: 16px; letter-spacing: 0; line-height: 2;}
.benefits_text p span{color: #EA5404; font-size: 90%;}
.benefits_text .benefits_bnr{max-width: 80%; margin: 5px auto 0;}
.present_bnr a span{display: block; background: #d77900; color: #fff; text-align: right; padding: 10px 5px; font-size: 18px; text-align: center;}
.present_bnr a span::after{content: ""; display: inline-block; border-left: 8px solid #fff;
    border-top: 6px solid transparent; border-bottom: 6px solid transparent; margin-left: 5px;
}

.benefits_endText{text-align: center; color: #000;}
.benefits_endText span{font-size: 40px; letter-spacing: 2px; font-weight: 500; border-bottom: 3px solid #000; padding: 0 25px 10px;}


@media screen and (max-width: 960px){
	.benefits_title span{font-size: 30px;}
	
	.benefits_number{padding-bottom: 10px;}
	.benefits_number h4{font-size: 20px; padding-left: 30px;}
	.benefits_number h4 b{width: 28px; font-size: 16px;}
}

@media screen and (max-width: 640px){
	.benefits_title span{font-size: 26px; letter-spacing: 3px; padding: 0 50px 5px 55px; display: inline-block;}
	.benefits_title span::before,
	.benefits_title span::after{width: 48px;}
	.benefits_box{width: 100%; padding: 0; margin: 0 0 20px;}
	.benefits_text p{font-size: 14px; line-height: 1.5;}
	.benefits_number{}
	.benefits_number h4{font-size: 16px;}
	.benefits_endText span{font-size: 25px; border-bottom: 1px solid #000; padding: 0 15px 10px;}
	.present_bnr a span{font-size: 15px;}
}


/* ckbcAbout_loginArea =====================*/
.ckbcAbout_loginArea{background: url(../../img/pages/ckbc-about/loginarea_bk.jpg) repeat; text-align: center; color: #fff; padding: 60px 0;}

.loginArea_title{font-size: 40px; font-weight: 500; letter-spacing: 3px; margin-bottom: 30px;}
.ckbcAbout_loginArea .login_btn{max-width: 700px;}
.ckbcAbout_loginArea .login_btn::before{width: 140px; transform: translate(-40%, -50%);}
.ckbcAbout_loginArea .login_btn::after{width: 80px; transform: translate(10%, 45%);}
.ckbcAbout_loginArea .login_btn a{height: 140px; border-radius: 10px; display: flex; flex-direction: column; justify-content: center; line-height: 2;}
.ckbcAbout_loginArea .login_btn a span:nth-child(1){font-size: 20px;}
.ckbcAbout_loginArea .login_btn a span:nth-child(2){font-size: 35px; font-weight: 700;}
.loginArea_anno{font-size: 16px; line-height: 2; margin: 10px 0 0;}

@media screen and (max-width: 960px){
	.loginArea_title{font-size: 35px;}
	.ckbcAbout_loginArea .login_btn{max-width: 600px;}
}

@media screen and (max-width: 640px){
	.ckbcAbout_loginArea{padding: 40px 15px;}
	.loginArea_title{font-size: 24px;}
	.ckbcAbout_loginArea .login_btn::before{width: 90px; transform: translate(-20px, -50%);}
	.ckbcAbout_loginArea .login_btn::after{width: 60px; transform: translate(10%, 60%);}
	.ckbcAbout_loginArea .login_btn a{height: 115px;}
	.ckbcAbout_loginArea .login_btn a span:nth-child(1){font-size: 16px; letter-spacing: 0;}
	.ckbcAbout_loginArea .login_btn a span:nth-child(2){font-size: 20px; letter-spacing: 0;}
	.loginArea_anno{font-size: 12px; margin: 20px 0 0;}
}


/* ckbcAbout_loginArea =====================*/
#ckbcAbout_flow{background: #F7F8F1; padding: 50px 0 0;}
#ckbcAbout_flow .ckbcAbout_title{margin-bottom: 20px; line-height: 1.6;}
#ckbcAbout_flow .flow_lead{font-size: 18px; text-align: center;}
#ckbcAbout_flow .flow_lead span{font-weight: 700; text-decoration: underline;}
#ckbcAbout_flow .flow_lead span b{font-size: 24px;}

#ckbcAbout_flow .c_flow_wrap{margin: 105px -15px 0;}
#ckbcAbout_flow .c_flow_box{width: calc(100% / 3); padding: 0 15px; margin-bottom: 140px; position: relative;}
#ckbcAbout_flow .c_flow_box .c_number{width: 100px; height: 100px; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; background: var(--member_green2); color: #fff;
	font-family: "EB Garamond", serif;
	position: absolute; top: 0; left: 0; transform: translate(-5px,-70px);
}
#ckbcAbout_flow .c_flow_box .c_number span{font-size: 18px; line-height: 1.1;}
#ckbcAbout_flow .c_flow_box .c_number b{font-size: 55px; font-weight: 400; line-height: 1;}

#ckbcAbout_flow .c_flow_img{overflow: hidden; background: #fff; border-radius: 10px; text-align: center;}
#ckbcAbout_flow .c_flow_text h4{font-size: 20px; font-weight: 500; margin: 20px 0 10px;}
#ckbcAbout_flow .c_flow_text h4 + p{line-height: 1.8;}
#ckbcAbout_flow .c_flow_text h4 + p small{font-size: 12px; text-decoration: underline;}

#ckbcAbout_flow .btn_register,
#ckbcAbout_flow .btn_login{max-width: 180px; width: 100%; margin: 10px auto 0; position: relative;}
#ckbcAbout_flow .btn_register::after,
#ckbcAbout_flow .btn_login::after{content: ""; display: block; position: absolute; bottom: -15px; right: 0; z-index: 2; aspect-ratio: 1 / 1; width: 35px;
	background-image: url(../../img/pages/ckbc-about/icon_finger.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;}
#ckbcAbout_flow .btn_register a,
#ckbcAbout_flow .btn_login a{display: flex; justify-content: center; align-items: center;
	text-align: center; color: #fff; height: 40px; border-radius: 20px;
	font-size: 15px;
}
#ckbcAbout_flow .btn_register a{background: var(--login);}
#ckbcAbout_flow .btn_login a{background: var(--member_green1);}

#ckbcAbout_flow .anno_yomiuriid{position: absolute; top: 0; left: 0; right: 0; padding-left: 90px;
	transform: translateY(-100%); text-align: center;
}
#ckbcAbout_flow .anno_yomiuriid p{color: var(--login); display: inline-block; text-align: center;
	font-size: 16px; font-weight: 600; margin-bottom: 15px; position: relative; padding: 0 20px;
}
#ckbcAbout_flow .anno_yomiuriid p::before,
#ckbcAbout_flow .anno_yomiuriid p::after{content: ""; display: block; width: 2px; height: 35px; background: var(--login); position: absolute; bottom: 0;}
#ckbcAbout_flow .anno_yomiuriid p::before{transform: rotate(-20deg); left: 0;}
#ckbcAbout_flow .anno_yomiuriid p::after{transform: rotate(20deg); right: 0;}


@media screen and (max-width: 960px){
	#ckbcAbout_flow .c_flow_box{width: calc(100% / 2);}
}

@media screen and (max-width: 640px){
	#ckbcAbout_flow .c_flow_box{width: 100%; margin-bottom: 70px;}
	#ckbcAbout_flow .c_flow_box .c_number{width: 80px; height: 80px; transform: translate(10px, -50px);}
	#ckbcAbout_flow .c_flow_box .c_number span{font-size: 16px;}
	#ckbcAbout_flow .c_flow_box .c_number b{font-size: 45px;}
	#ckbcAbout_flow .c_flow_text h4{font-size: 18px; margin: 15px 0 10px;}

}

/* ckbcAbout_faq =====================*/
#ckbcAbout_faq{padding: 70px 0 100px;}

#ckbcAbout_faq .faq_title{font-size: 30px; font-weight: 400; position: relative; padding-left: 65px; margin-bottom: 20px;}
#ckbcAbout_faq .faq_title::before{content: ""; width: 50px; height: 2px; background: #000; display: block; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
#ckbcAbout_faq .faq_content + .faq_content{margin-top: 40px;}
#ckbcAbout_faq .faq_wrap + .faq_wrap{margin-top: 20px;}
#ckbcAbout_faq .faq_Q{background: #F8F7F5; padding: 22px 50px 22px 90px; position: relative;}
#ckbcAbout_faq .faq_Q::after{content: ""; aspect-ratio: 1 / 1; width: 20px; display: block;
	background-image: url(../../img/pages/ckbc-about/icon_plus.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute; top: 50%; right: 15px; transform: translateY(-50%); transition: 0.3s ease;
}
#ckbcAbout_faq .faq_Q.open::after{transform: translateY(-50%) rotate(45deg);}

#ckbcAbout_faq .faq_Q:hover{cursor: pointer;}
#ckbcAbout_faq .faq_Q span{position: relative; font-size: 24px;}
#ckbcAbout_faq .faq_Q span::before{content: "Q"; position: absolute; top: 50%; left: 0; transform: translateY(-55%) translateX(-100%) translateX(-20px); font-size: 50px; font-weight: 300; color: #AAAA9C;}
#ckbcAbout_faq .faq_A{padding: 25px 50px 25px 90px;}
#ckbcAbout_faq .faq_A p{font-size: 16px; line-height: 1.8;}
#ckbcAbout_faq .faq_A p a{text-decoration: underline; color: var(--member_green1);}

#ckbcAbout_faq .allFaq_btn{max-width: 500px; width: 100%; margin: 40px auto 0;}
#ckbcAbout_faq .allFaq_btn a{display: block; background: var(--member_green2); color: #fff; text-align: center;
	font-size: 18px; padding: 20px 10px; border-radius: 10px;
}

#ckbcAbout_faq .faq_anno{background: #FBFBFB; padding: 40px 20px; margin-top: 80px;}
#ckbcAbout_faq .faq_anno p{font-size: 16px; line-height: 1.8; text-align: center;}
#ckbcAbout_faq .faq_anno p a{text-decoration: underline; color: var(--member_green1);}


@media screen and (max-width: 640px){
	#ckbcAbout_faq{padding: 55px 0 60px;}

	#ckbcAbout_faq .faq_wrap + .faq_wrap{margin-top: 12px;}
	#ckbcAbout_faq .faq_Q{padding: 20px 40px 20px 40px;}
	#ckbcAbout_faq .faq_Q span{font-size: 16px;}
	#ckbcAbout_faq .faq_Q span::before{font-size: 24px; transform: translateY(-55%) translateX(-100%) translateX(-10px);}
	#ckbcAbout_faq .faq_A{padding: 20px 40px 20px 40px;}
	#ckbcAbout_faq .faq_A p{font-size: 13px;}

	#ckbcAbout_faq .faq_anno{margin-top: 40px; padding: 30px 20px;}
	#ckbcAbout_faq .faq_anno p{font-size: 13px;}
	
	#ckbcAbout_faq .allFaq_btn{padding: 0 25px; margin: 30px 0;}
	#ckbcAbout_faq .allFaq_btn a{font-size: 15px;}
}


