@charset "utf-8";
/* CSS Document */

/*======================
pc_backgrond
======================*/
.pc_backgrond{
	background-image: url( "images/pc_bg.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	width: 100%;
	/*height: 100vh;*/
	position: relative;
	z-index: 1;
}

.wrapper{
	width: 100%;
	max-width: 390px;
	margin: 0 auto;
	background-color: #fff;
	position: relative;
	z-index: 0;
}

@media only screen and (max-width:390px) {

}


/*======================
mv
======================*/
.bp_mv_wrap{
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
	background-color: #FFF9EC;
	z-index: 0;
}

.bp_mv{
	width: 100%;
	position: relative;
	z-index: 0;
}
.bp_mv::before{
	content: "";
	width: 100%;
	height: 75px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0;
	background: linear-gradient(0deg,rgba(255, 249, 236, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

@media only screen and (max-width: 390px) {

}



.bp_logo{
	position: absolute;
	top: 0;
	left: 0;
	width: 162px;
	z-index: 1;
}

.bp_head{
	position: absolute;
	top: 90px;
	left: 5px;
	width: 276px;
	z-index: 1;
}

.bp_hukidasi{
	position: absolute;
	top: 0;
	right: 0;
	width: 166px;
	z-index: 1;
}

.bp_read{
	margin-top: -50px;
	width: 100%;
	position: relative;
	z-index: 1;
}

@media only screen and (max-width: 390px) {

}



.bp_mv_btn{
	padding: 25px 20px 20px 20px;
}
.more_btn{
	width: 100%;
	max-width: 390px;
	position: relative;
}
.more_btn .btn_bird{
	width: 48px;
	position: absolute;
	top:-15px;
	left: 20px;
	z-index: 1;
}
.more_btn button{
	display: block;
	font-family: "Zen Maru Gothic", sans-serif;
	width: 100%;
	    padding-top: 15px;
    padding-bottom: 22px;
	background-color: #E2937F;
	color: #fff;
	font-size: 22px;
	font-weight: 500;
	border-radius: 50px;
	text-align: center;
	line-height: 1.2;
	position: relative;
	transition: .3s;
	border: none;
	cursor: pointer;
}
.more_btn button::after{
	content: "";
	background-image: url("images/icon/arrow_right_circle.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 18px;
	height: 18px;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
}
.more_btn button span{
	font-size: 18px;
}
.more_btn button:hover{
	opacity: .6;
}


@media only screen and (max-width: 390px) {

}



/*======================
sec1
======================*/
.bp_sec1{
	position: relative;
	z-index: 0;
}
.bp_sec1::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 95px;
	background: linear-gradient(180deg,rgba(255, 249, 236, 1) 0%, rgba(255, 255, 255, 0) 100%);
	z-index: -1;
}

.bp_age_head{
	display: flex;
	align-items: center;
	position: relative;
}
.bp_age_flower{
	width: 54px;
	position: absolute;
	top: 40px;
    right: 4px;
	z-index: -1;
}

.bp_age_head .img_area{
	width: 155px;
}
.bp_age_ttl{
	font-size: 20px;
}
.bp_age_ttl img{
	width: auto;
	height: 32px;
	object-fit: contain;
	margin-top: 3px;
}

@media only screen and (max-width: 390px) {

}


.bp_ageItem_wrap{
	background-color: #FAE6DC;
	padding: 24px 20px;
	margin-top: -30px;
}

.bp_ageItem_inner{
	background-color: #fff;
	border-radius: 15px;
	padding-left: 15px;
	padding-right: 15px;
	margin-bottom: 20px;
}

.bp_ageItem{
	padding-top: 25px;
	padding-bottom: 25px;
	border-bottom: 1px solid #BEBEBE;
}
.bp_ageItem:last-of-type{
	border-bottom: none;
}

.bp_ageItem .flex_area{
	display: flex;
	margin-bottom: 20px;
}
.bp_ageItem .flex_area .img_area{
	max-width: 108px;
	margin-right: 22px;
}
.bp_ageItem .flex_area .ttl_area .txt01{
	font-size: 30px;
	letter-spacing: 4px;
	color: #CE5334;
}
.bp_ageItem .flex_area .ttl_area .txt02{
	font-size: 20px;
}

.bp_age_data{
	width: 100%;
}
.bp_age_data img{
	border: 1px solid #BEBEBE;
}

@media only screen and (max-width: 390px) {

}


/*======================
sec2
======================*/
.bp_graph{
	padding-bottom: 30px;
	background: url( "images/age_bg.jpg") no-repeat center/ cover;
}

.bp_graph_head{
	display: flex;
	padding-left: 20px;
	align-items: center;
}
.bp_graph_ttl{
	font-size: 18px;
	margin-right: -15px;
	line-height: 1.6;
}
.bp_graph_ttl span{
	color: #E76A6A;
	font-size: 24px;
	line-height: 1.4;
}
.bp_graph_ttl span .txt_strong{
	font-weight: 600;
	font-size: 32px;
}

.bp_graph_head .img_area{
	width: 145px;
}

@media only screen and (max-width: 375px) {
	.bp_graph_ttl{
	font-size: 16px;
}
.bp_graph_ttl span{
	font-size: 22px;
}
.bp_graph_ttl span .txt_strong{
	font-size: 30px;
}
}

.bp_graph .graph_area{
	margin-top: 15px;
}
.bp_graph .graph_area .ttl{
	background-color: #EEA391;
	border-radius: 50px;
	font-size: 18px;
	color: #fff;
	width: 95%;
	margin: 0 auto;
	text-align: center;
	padding: 6px;
	margin-bottom: 20px;
}
.bp_graph .graph_area .img_area{
	width: 255px;
	margin: 0 auto;
	margin-bottom: 25px;
}

.bp_graph .graph_area .txt span{
	color: #CE5334;
	font-weight: 600;
}

@media only screen and (max-width: 390px) {
	
}

/*======================
sec3
======================*/
.bp_iq{
	padding-top: 30px;
	padding-bottom: 40px;
	background-color: #FFF9EC;
	position: relative;
	z-index: 0;
}
.bp_iq::before{
	content: "";
	width: 100%;
	height: 236px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
	z-index: -1;
}

.bp_iq_bg{
	width: 100%;
	height: 270px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.bp_iq_head{
	margin-bottom: 20px;
}
.bp_iq_ttl {
	text-align: center;
	margin-bottom: 5px;
}
.bp_iq_ttl img{
	width: 275px;
	height: auto;
	margin-top: 5px;
}

.bp_iq .txt span{
	color: #CE5334;
	font-weight: 600;
}

.bp_iq .graph_area{
	max-width: 310px;
	margin: 0 auto;
	background-color: #fff;
	border-radius: 15px;
	margin-top: 25px;
	text-align: center;
	padding: 20px;
	box-shadow: 3px 3px 12px -6px rgba(102,102,102,0.5);
}
.bp_iq .graph_area img{
	width: 202px;
	height: auto;
}

@media only screen and (max-width: 390px) {

}


/*======================
sec4
======================*/
.bp_voice{
	padding-top: 30px;
	padding-bottom: 40px;
	background: url( "images/voice_bg.jpg") no-repeat center/ cover;
}

.txt_stroke{
	position: relative;
	font-weight: 700;
	z-index: 0;
}
.txt_stroke::before{
	 z-index: -1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.bp_voice_ttl.txt_stroke{
	font-size: 36px;
	color: #534B39;
	text-align: center;
	margin-bottom: 35px;
}
.bp_voice_ttl.txt_stroke::before{
	content: "お客様の声";
    font-size: 36px;
    -webkit-text-stroke: 5px #fff;
    text-stroke: 5px #fff;
}

@media only screen and (max-width: 390px) {

}


.bp_voiceItem{
	background-color: #fff;
	border-radius: 15px;
	position: relative;
	box-shadow: 3px 3px 12px -6px rgba(102,102,102,0.5);
}
.bp_voiceItem01{
	margin-bottom: 40px;
}

.bp_voiceItem .img_area{
	width: 82px;
	position: absolute;
	top: -30px;
	left: 15px;
}

.bp_voiceItem_head{
	display: flex;
	justify-content: flex-end;
}
.bp_voiceItem_head .ttl{
	font-size: 22px;
	color: #fff;
	display: inline-block;
	border-radius: 0 15px 0 15px;
	padding: 15px 25px;
}
.bp_voiceItem_head .ttl span{
	font-size: 18px;
}

.bp_voiceItem01 .bp_voiceItem_head .ttl{
	background-color: #85ADBE;
}
.bp_voiceItem02 .bp_voiceItem_head .ttl{
	background-color: #EEA391;
}

.bp_voiceItem .txt_area{
	padding: 15px;
}

.bp_voiceItem .txt_area .voice_list li{
	font-size: 16px;
	padding-left: 30px;
	margin-bottom: 12px;
	position: relative;
}
.bp_voiceItem .txt_area .voice_list li:last-child{
	margin-bottom: 0;
}
.bp_voiceItem .txt_area .voice_list li::before{
	content: "";
	background-image: url("images/voice_flower.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 3px;
	left: 0;
}

.bp_voiceItem .txt_area .voice_list li span{
	color: #CE5334;
	font-weight: 600;
}

@media only screen and (max-width: 390px) {

}

/*======================
sec5
======================*/
.bp_message{
	background-color: #FFFFF8;
}

.bp_message .flex_area{
	display: flex;
	justify-content: flex-end;
}

.bp_message .flex_area .txt_area{
	padding-left: 15px;
}

.bp_message_ttl{
	padding-top: 30px;
	font-size: 24px;
	color: #534B39;
	margin-bottom: 15px;
}
.bp_message_ttl .txt_strong{
	font-size: 36px;
	color: #E76A6A;
	font-weight: 700;
}

.bp_message .flex_area .img_area{
	max-width: 150px;
}

@media only screen and (max-width: 390px) {
.bp_message_ttl .txt_strong{
	font-size: 35px;
}
	.bp_message_ttl{
	font-size: 23px;
}
}


.bp_message_now{
	padding-top: 40px;
	padding-bottom: 40px;
	margin-top: -30px;
	background: url( "images/message_bg.jpg") no-repeat top/ cover;
}

.bp_message_now .txt_read{
	font-size: 30px;
	color: #534B39;
	text-align: center;
	margin-bottom: 15px;
}
.bp_message_now .txt_read .txt_stroke{
	font-size: 44px;
	color: #E76A6A;
}
.bp_message_now .txt_read .txt_stroke::before{
	content: "“いま”";
    font-size: 44px;
    -webkit-text-stroke: 7px #fff;
    text-stroke: 7px #fff;
}

.bp_message_now .txt_area{
	margin-bottom: 20px;
}
.bp_message_now .txt_area p{
	font-size: 18px;
	color: #534B39;
	text-align: center;
}

.txt_area_btm{
	padding-left: 15px;
	padding-right: 15px;
	position: relative;
	z-index: 0;
}
.txt_area_btm::before{
	content: "";
	    background-color: #fff;
    border-radius: 50px;
    width: 94%;
    margin: 0 auto;
    height: 100px;
    filter: blur(12px);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.txt_area_btm .img_kakoi{
	width: 36px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.txt_area_btm .img_left{
	left:15px;
}
.txt_area_btm .img_right{
	right: 15px;
}

.txt_area_btm p{
	text-align: center;
	font-size: 18px;
	color: #534B39;
}
.txt_area_btm p .txt_strong{
	font-size: 30px;
	color: #E76A6A;
	font-weight: 700;
	line-height: 1;
}

@media only screen and (max-width: 390px) {
.bp_message_now .txt_read{
	font-size: 28px;
}
	.bp_message_now .txt_read .txt_stroke{
	font-size: 42px;
}
.bp_message_now .txt_read .txt_stroke::before{
    font-size: 42px;
}
}


/*======================
sec6
======================*/
.bp_experience{
	padding-top: 20px;
	padding-bottom: 40px;
	background: url( "images/experience_bg.jpg") no-repeat center/ cover;
}

.bp_experience .img_area{
	width: 90px;
	margin: 0 auto;
	margin-top: -40px;
	position: relative;
    z-index: 1;
}

.bp_experience .txt_area{
	text-align: center;
	max-width: 320px;
	width: 100%;
	margin: 0 auto;
	padding-top: 65px;
	padding-bottom: 30px;
	background-color: #F7F3E9;
	border-radius: 9000px 9000px 0 0;
	margin-top: -55px;
	position: relative;
}
.bp_experience .txt_area .txt01{
	font-size: 20px;
	color: #534B39;
	margin-bottom: 10px;
}
.bp_experience .txt_area .txt02{
	font-size: 25px;
	color: #534B39;
	line-height: 1.2;
	margin-bottom: 14px;
}
.bp_experience .txt_area .txt02 .txt_strong{
	color: #E76A6A;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
}
.bp_experience .txt_area .txt03{
	font-size: 25px;
	font-weight: 700;
	color: #534B39;
}
.bp_experience .txt_area .txt03 .txt_strong{
	color: #E76A6A;
}

.bp_experience .txt_area .img_bird{
	width: 55px;
	position: absolute;
	top: 50%;
	right: 0;
}

@media only screen and (max-width: 390px) {	

}



/*======================
sec7
======================*/
.bp_data{
	padding-top: 40px;
	background-color: #FFFFF5;
	position: relative;
	z-index: 0;
}
.bp_data_bg{
	width: 100%;
	height: 228px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
} 

.bp_data_head{
	padding-bottom: 30px;
}
.bp_data_ttl {
	font-size: 24px;
	text-align: center;
	margin-bottom: 15px;
}
.bp_data_ttl .txt_strong{
	font-size: 30px;
	color: #E76A6A;
	font-weight: 700;
}

@media only screen and (max-width: 390px) {	

}


.data_about{
	position: relative;
	padding-bottom: 40px;
	background: url( "images/data_bg.png") no-repeat center/ cover;
	z-index: 0;
}
.data_about::before{
	content: "";
	width: 100%;
	height: 78px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: linear-gradient(180deg,rgba(252, 252, 243, 1) 0%, rgba(252, 252, 243, 0) 100%);
}

.data_about .txt_read{
	font-size: 28px;
	margin-bottom: 12px;
	text-align: center;
}
.data_about .img_area{
	max-width: 340px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 35px;
}

@media only screen and (max-width: 390px) {	

}

/*======================
20251212追記
======================*/
.bp_lesson{
	background-color: #FAE6DC;
    padding: 24px 20px;
}

.bp_lesson_wrap{
	background-color: #fff;
	padding: 25px 15px;
	border-radius: 15px;
}

.bp_lesson_ttl{
	font-size: 24px;
	color: #E76A6A;
	font-weight: 600;
	text-align: center;
	margin-bottom: 30px;
}

.bp_lesson_wrap .txt_area{
	margin-bottom: 30px;
}
.bp_lesson_wrap .txt_area .txt01{
	font-size: 18px;
	color: #E76A6A;
	font-weight: 600;
}

@media only screen and (max-width: 390px) {	

}

.bp_lessonItem{
	margin-bottom: 40px;
}
.bp_lessonItem:last-of-type{
	margin-bottom: 0;
}

.bp_lessonItem .img_area{
	margin-bottom: 20px;
}
.bp_lessonItem .ttl{
	color: #E76A6A;
	font-weight: 600;
	font-size: 20px;
	margin-bottom: 10px;
}

.bp_lessonItem .txt_area{
	margin-bottom: 10px;
}
.bp_lessonItem .txt_area:last-of-type{
	margin-bottom: 0;
}

.bp_lessonItem .txt_area .txt_list li{
	color: #CE5334;
	font-size: 14px;
	position: relative;
	display: flex;
}
.bp_lessonItem .txt_area .txt_list li::before{
	content: "※";
	padding-right: 5px;
}
.bp_lessonItem .txt_area .txt_list li:first-child{
	margin-bottom: 10px;
}

@media only screen and (max-width: 390px) {	

}



/*======================
cb_present
======================*/
.cb_present{
	padding-top: 30px;
	padding-bottom: 40px;
	background-color: #FFEEE8;
}

.cb_present_head{
	max-width: 350px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 15px;
}

.cb_present_item_wrap{
	margin-bottom: 20px;
}
.cb_present_item {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	padding: 8px;
	padding-left: 12px;
	margin-bottom: 8px;
}
.cb_present_item:last-of-type{
	margin-bottom: 0;
}

.cb_present_item .txt01{
	width: 26px;
	font-size: 28px;
	color: #EF5353;
	font-weight: 700;
	margin-right: 12px;
}
.cb_present_item .txt02{
	max-width: 265px;
    width: 100%;
	font-size: 20px;
	text-align: center;
	font-weight: 700;
	line-height: 1.2;
}
	.cb_present_item .txt02 .txt_small{
	font-size: 16px;
}

.cb_present_item .txt03{
	line-height: 1.2;
}

@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 767px) {
}

	

/*======================
モーダル
======================*/


.cb_modal_wrap{
/*	overflow-y: scroll;
	max-height: 80vh;*/
	text-align: left;
		padding: 18px 24px; 
	border-radius: 14px;
	background-color: #fff;
	margin-top: 30px;
}
.cb_modal_wrap::-webkit-scrollbar {
  width: 16px;
}
.cb_modal_wrap::-webkit-scrollbar-thumb {
  background: #D1D1D1;
  border-radius: 50px;
  border-right: 4px solid transparent; /* 透明なボーダーをつける */
  border-left: 4px solid transparent; /* 透明なボーダーをつける */
  background-clip: padding-box; /* 背景を切り取る */
}
.cb_modal_wrap::-webkit-scrollbar-track {
  /* 上下に余白を付ける */
  margin-top: 4px;
  margin-bottom: 4px;
}



.cb_modal_wrap .modal_ttl{
	font-size: 20px;
	margin-bottom: 20px;
}


.modal_campaign_wrap{
	background-color: #FFEEE8;
	border-top: 4px solid #EF5353;
	padding: 20px;
	margin-bottom: 15px;
}
.modal_campaign_wrap p{
	font-size: 18px;
	line-height: 1.3;
}
.modal_campaign_wrap p:last-of-type{
	margin-bottom: 0;
}
.modal_campaign_wrap .txt01{
	display: inline-block;
	padding-bottom: 5px;
	border-bottom: 1px solid #EF5353;
}
.modal_campaign_wrap .txt03 span{
	font-size: 32px;
}
.modal_campaign_wrap .txt04{
	display: inline-block;
	background-color: #fff;
	border-radius: 50px;
	padding: 2px 12px;
}
	
@media only screen and (max-width: 767px) {}


/*modal_flow*/
.modal_flow_ttl{
	border-radius: 5px;
	font-size: 14px;
	color: #fff;
	font-weight: 700;
	padding:  10px;
	background-color: #EF5353;
	margin-bottom: 15px;
}

.modal_flow_item{
	margin-bottom: 20px;
}

.txt_caution{
	background-color: #fff8de;
	padding: 10px;
	border-radius: 5px;
}




/*アコーディオン全体*/
.modal_flow_wrap .cb_accordion_area{
    list-style: none;
	width: 100%;
    max-width: 845px;
	margin: 0 auto;
	margin-bottom: 20px;
}

/*アコーディオンタイトル*/
.modal_flow_wrap .cb_accordion_title {
	width: 100%;
	display: table;
    position: relative;
    cursor: pointer;
    transition: all .5s ease;
	background-color: #F7F7F7;
		padding: 12px;
	padding-left: 20px;
	padding-right: 42px;
}
.modal_flow_wrap .cb_accordion_title p{
	color: #EF5353;
	text-decoration: underline;
	font-weight: 400;
	    font-size:16px;
	display: table-cell;
	vertical-align: middle;
}

/*アイコンの＋と×*/
.modal_flow_wrap .cb_accordion_title::after{
    position: absolute;
    content:'';
	background-image: url( "images/icon/modal_plus.svg");
	background-size: contain;
	background-repeat: no-repeat;
    width: 24px;
    height: 24px;
	top:50%;
    right: 12px;
	transform: translateY(-50%);
}

/*　close　*/
.modal_flow_wrap .cb_accordion_title.close::after{
background-image: url( "images/icon/modal_minus.svg");
}

.modal_flow_wrap .cb_accordion_inner{
	 display: none;/*はじめは非表示*/
	background-color: #F7F7F7;
	padding: 12px;
}

.modal_flow_wrap .cb_accordion_inner .list_dot li{
	position: relative;
	padding-left: 18px;
font-size: 14px;
	line-height: 1.6;
	margin-bottom: 10px;
}

@media only screen and (max-width: 767px) {}






/*======================
sec8
======================*/
.bp_recruitment_bg{
	width: 100%;
	height: 156px;
}

.bp_recruitment{
	position: relative;
}
.bp_recruitment .txt_area{
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
}
.bp_recruitment .txt_read{
	font-size: 34px;
	font-weight: 700;
	color: #534B39;
	text-align: center;
	line-height: 1.2;
}
.bp_recruitment .txt_read span{
	font-size: 26px;
	line-height: 1;
}
.bp_recruitment .txt_read .txt_strong{
	font-size: 42px;
	color: #E76A6A;
	display: flex;
	justify-content: center;
	align-items: center;
}
.bp_recruitment .txt_read .txt_strong img{
	width: 16px;
	height: 100%;
	margin-left: 3px;
}


/*======================
sec9
======================*/
.bp_cta{
	padding-top: 25px;
	padding-bottom: 25px;
	background: url( "images/cta_bg.jpg") no-repeat center/ cover;
}

.bp_cta .more_btn{
	margin-top: 30px;
}

@media only screen and (max-width: 767px) {	
.bp_cta{
	padding-bottom: 140px;
}
}


/*======================
footer
======================*/
.copy{
	padding: 6px;
	padding-bottom: 8px;
	background-color: #E9E5DD;
	color: #534B39;
}


/* PC
------------------------------------------*/
@media only screen and (min-width: 376px) {
  .pc_only {
    display: inherit !important;
  }
  .tb_only {
    display: none !important;
  }
  .sp_only {
    display: none !important;
  }
  .tb_pc {
    display: inherit !important;
  }
  .sp_tb {
    display: none !important;
  }
}

/* Tablet (Portrait : 縦表示)
------------------------------------------*/
@media only screen and  (max-width: 376px) {
  .pc_only {
    display: none !important;
  }
  .tb_only {
    display: inherit !important;
  }
  .sp_only {
    display: none !important;
  }
  .tb_pc {
    display: inherit !important;
  }
  .sp_tb {
    display: inherit !important;
  }
}
/* Mobile (Portrait : 縦表示)
------------------------------------------*/
@media only screen and (max-width: 550px) {
  .pc_only {
    display: none !important;
  }
  .tb_only {
    display: none !important;
  }
  .sp_only {
    display: inherit !important;
  }
  .tb_pc {
    display: none !important;
  }
  .sp_tb {
    display: inherit !important;
  }
}