@charset "utf-8";
/* CSS Document */

/*20251031追記*/
#cb_lesson{
	overflow:hidden;
}

.img-box{
	display:flex;
	justify-content:center;
	padding:5px 0;
}

.img-box li{
	width:20%;
	margin:0 5px;
	max-width:300px;
}

.img-box li img {
    width: 100%;
    height: 165px;
    object-fit: cover;
    border-radius: 15px;
}

@media (max-width: 768px) {
.img-box{
	margin:0 -15%;
	padding:3px 0;
}

.img-box li{
	width:20%;
	margin:0 3px;
}

.img-box li img {
    height: auto;
}
}

/*======================
base
======================*/
.fo-red, .fo-red:hover {
	color: #EF5353;
}
.fo-gray, .fo-gray:hover {
    color: #666666;
}
.fo-white, .fo-white:hover {
    color: #FFFFFF;
}

.text-center {
    text-align: center !important;
}

.bold-500{
	font-weight: 500;
}
.bold-600{
	font-weight: 600;
}
.bold-700{
	font-weight: 700;
}

.fo16 {
    font-size: 16px !important;
}
.fo14 {
    font-size: 14px !important;
}
.fo13 {
    font-size: 13px !important;
}
.fo12 {
    font-size: 12px !important;
}
.fo11 {
    font-size: 11px !important;
}

.bottom-mg-15 {
    margin-bottom: 15px !important;
}
.bottom-mg-20 {
    margin-bottom: 20px !important;
}


/*------------------------------------------------------------
container
--------------------------------------------------------------*/
.container{
	width: 100%;
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
}


@media only screen and (max-width: 1020px) {
.container{
	padding-left: 20px;
	padding-right: 20px;
}

}
/*------------------------------------------------------------
rob
--------------------------------------------------------------*/
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
*:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}



/*======================
MV
======================*/
.cb_mv{
	margin-top: 62px;
	position: relative;
}

.cb_mv .video_wrap{
	width: 100%;
	height: 650px;
	position: relative;
	  background-image: url( "images/poster_sp.jpg");
  background-size: cover;
  background-position: top;
background-repeat: no-repeat;
}

@media (min-width: 768px) {
.cb_mv .video_wrap {
    background-image: url( "images/poster.jpg");
  }
}

.cb_mv .video_wrap video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
  top: 0;
  left: 0;
}

.cb_mv .cb_mv_img{
	width: 600px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

@media only screen and (min-width: 1920px) {
	.cb_mv .video_wrap{
	height: 850px;
}
.cb_mv .video_wrap video{
	height: 850px;
}
}

@media only screen and (max-width: 600px) {
.cb_mv .cb_mv_img{
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.cb_mv .video_wrap{
	height: 600px;
}
.cb_mv .video_wrap video{
	height: 600px;
}

}


/*======================
CTA
======================*/
.cb_cta{
	padding-bottom: 65px;
}
.cb_cta .txt_area{
	background-color: #FFE7E7;
	padding-top: 50px;
}
.cb_cta .txt_area .txt{
	max-width: 768px;
	width: 100%;
	margin: 0 auto;
	font-size: 24px;
	line-height: 1.4;
	font-weight: 700;
	color: #FF5959;
	position: relative;
	display: inline-block;
}
.cb_cta .txt_area .txt::before{
	content: "";
	background-image: url("images/cta_flag01.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 100px;
	height: 68px;
	position: absolute;
	left: -25px;
	top: -30px;
}
.cb_cta .txt_area .txt::after{
	content: "";
	background-image: url("images/cta_flag02.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 100px;
	height: 68px;
	position: absolute;
	right: -15px;
	top: -30px;
}

.cb_cta .cta_cloud img{
	width: 100%;
	height: 200px;
	object-fit: cover;
	object-position: top;
}

@media only screen and (min-width: 1280px) {
.cb_cta .cta_cloud img{
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: top;
}
}


.chatbot_area{
	max-width: 360px;
	width: 100%;
	margin: 0 auto;	
}

.cb_cta .chatbot_area{
	margin-top: 30px;
}

@media only screen and (max-width: 1020px) {

}

@media only screen and (max-width: 767px) {
	.cb_cta{
	padding-bottom: 40px;
}
	.cb_cta .txt_area .txt::before,.cb_cta .txt_area .txt::after{
		content: none;
	}
	
	.cb_cta{
		position: relative;
		z-index: 1;
	}
	.cb_cta_bg_sp{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
	}
	
	.cb_cta .txt_area .txt{
	max-width: 375px;
	font-size: 20px;
	padding-bottom: 15px;
}
	
	.cb_cta .cta_cloud img{
	width: 100%;
	height: 110px;
	object-fit: cover;
	object-position: top;
}

}

@media only screen and (max-width:600px) {
		.cb_cta .chatbot_area{
		margin-top: 0;
}
	 .chatbot_area{
	padding-left: 20px;
		padding-right: 20px;
}
}


/*======================
school_award
======================*/
.cb_award{
	padding-bottom: 60px;
}

.cb_award_ttl{
	font-size: 24px;
	color: #6D5047;
	font-weight: 700;
	margin-bottom: 15px;
}

.cb_award_ttl .award_ttl_strong01,
.cb_award_ttl .award_ttl_strong02,
.cb_award_ttl .award_ttl_strong03{
	font-size: 36px;
}

.cb_award_ttl .award_ttl_strong01{
	color: #3EBCF2;
}
.cb_award_ttl .award_ttl_strong03{
	color: #E65773;
}

.cb_award_img{
	display: flex;
	justify-content: center;
}
.cb_award_img .award_item{
	width: 410px;
}
.cb_award_img .award_item:first-of-type{
	margin-right: 25px;
}

@media only screen and (max-width: 1020px) {

}

@media only screen and (max-width: 767px) {
	.cb_award{
	padding-bottom: 40px;
}
	.cb_award_ttl{
	font-size: 16px;
}
.cb_award_ttl .award_ttl_strong01,
.cb_award_ttl .award_ttl_strong02,
.cb_award_ttl .award_ttl_strong03{
	font-size: 24px;
}
	.cb_award_img{
	display: block;
}
	.cb_award_img .award_item{
	max-width: 375px;
	width: 100%;
		margin: 0 auto;
}
	.cb_award_img .award_item:first-of-type{
margin: 0 auto;
		margin-bottom: 12px;
}
}


/*======================
school_reason
======================*/
.cb_reason{
	background: url( "images/reason_bg.png")  no-repeat  top / cover;
	background-size: 100% 236px;
	padding-top: 80px;
	padding-bottom: 60px;
}

.cb_reason_ttl{
	width: 425px;
	margin: 0 auto;
	margin-bottom: 35px;
}

.cb_reason .txt{
	font-size: 24px;
}


@media only screen and (max-width: 1020px) {

}

@media only screen and (max-width: 767px) {
.cb_reason{
	background: url( "images/reason_bg_sp.png")  no-repeat  top / cover;
	background-size: 100% 150px;
	padding-top: 60px;
	padding-bottom: 40px;
}
	.cb_reason_ttl{
		width: 100%;
	max-width: 282px;
	margin: 0 auto;
	margin-bottom: 15px;
}
	.cb_reason_ttl img{
		margin-left: 10px;
	}
	.cb_reason .txt{
	font-size: 16px;
		padding-left: 5px;
		padding-right: 5px;
}
}



/*======================
school_trouble
======================*/
.cb_trouble_wrap{
	padding-top: 60px;
	padding-bottom: 30px;
background-color:#F3F1F0;
	position: relative;
}
.cb_trouble_wrap::before{
	content: "";
	background-image: url("images/trouble_bg.png");
	background-repeat: repeat-x;
	background-size: cover;
	background-position: bottom;
	width: 100%;
	height: 18px;
	position: absolute;
	top: 0;
	left: 0;
}

.cb_trouble_head{
	margin-bottom: 25px;
}
.cb_trouble_ttl{
	font-size: 36px;
	color: #6D5047;
}
.cb_trouble_head img{
	width: 245px;
	height: auto;
	padding-top: 10px;
}

.cb_item_wrap{
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	column-gap: 25px;
}
.cb_item_wrap .trouble_item{
	width: 100%;
	max-width: 305px;
}
.cb_item_wrap .trouble_item .img_area{
	width: 55px;
	margin: 0 auto;
	margin-bottom: 20px;
}
.cb_item_wrap .trouble_item .txt{
	text-align: center;
}
.cb_item_wrap .trouble_item .txt span{
	color: #6D5047;
}


@media only screen and (max-width: 1020px) {
	.cb_item_wrap{
	padding-left: 20px;
		padding-right: 20px;
}
}

@media only screen and (max-width: 768px) {
.cb_item_wrap{
	justify-content: center;
	flex-wrap: wrap;
	grid-row-gap: 30px;
}
}

@media only screen and (max-width: 767px) {
	.cb_trouble_wrap{
	padding-top: 45px;
		padding-bottom: 20px;
}
.cb_trouble_ttl{
	font-size: 24px;
}
	.cb_item_wrap{
	justify-content: flex-start;
		margin: 0 auto;
}
	.cb_item_wrap .trouble_item{
	max-width: 375px;
		margin:  0 auto;
	display: flex;
		align-items: center;
		padding-left: 20px;
		padding-right: 20px;
}
	.cb_item_wrap .trouble_item .img_area{
	margin-bottom: 0;
		margin-right: 15px;
}
	.cb_item_wrap .trouble_item .txt{
		width: 265px;
		text-align: left;
	}
}


/*solution_wrap*/
.solution_wrap{
	background-color: #EF5353;
	padding-bottom: 40px;
	padding-top: 90px;
	position: relative;
}
.solution_wrap::before{
	content: "";
	width: 100%;
	height: 90px;
	background-color:#F3F1F0;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	position: absolute;
	top: -1px;
	left: 0;
}

.solution_wrap .img_area{
	width: 85px;
	margin: 0 auto;
	margin-top: 25px;
	margin-bottom: 25px;
}
.solution_wrap .txt_area .txt01{
	font-size: 20px;
	line-height: 1.4;
	color: #FFFAD2;
	margin-bottom: 25px;
}
.solution_wrap .txt_area .txt02{
	font-size: 16px;
}


@media only screen and (max-width: 1020px) {

}

@media only screen and (max-width: 767px) {
.solution_wrap{
	padding-bottom: 30px;
	padding-top: 45px;
}
.solution_wrap::before{
	height: 45px;
}
	.cb_nayami .chatbot_area{
		padding-top: 40px;
		padding-bottom: 40px;
	}
}



/*======================
school_info
======================*/
.school_info {
	padding-top: 20px;
	padding-bottom: 40px;
}

.school_info .school_info_img{
	width: 502px;
	margin: 0 auto;
}


@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 502px) {
	.school_info {
	padding-top: 0;
	padding-bottom: 0;
}
.school_info .school_info_img{
	width: 100%;
}
}


/*======================
cb_features
======================*/
.cb_features{
	padding-top: 80px;
	padding-bottom: 80px;
}
.cb_features_head{
	margin-bottom: 50px;
}
.cb_features_head img{
	width: 185px;
	height: auto;
}

.cb_features_ttl{
	font-size: 36px;
}

.cb_features_ttl .inner_txt {
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
}
.cb_features_ttl .inner_txt::before,
.cb_features_ttl .inner_txt::after{
	background-color: #EF5353;
    content: "";
    height: 2px;
    width: 26px;
}
.cb_features_ttl .inner_txt::before{
	    position: absolute;
    left: -2px;
    bottom: 18px;
    transform: rotate(62deg);
}
.cb_features_ttl .inner_txt::after{
	    position: absolute;
    right: -2px;
    bottom: 18px;
    transform: rotate(-62deg);
}

.cb_features_ttl .inner_txt span{
	font-size: 54px;
}

@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 767px) {
.cb_features{
	padding-top: 60px;
	padding-bottom: 30px;
}
	.cb_features_head{
	margin-bottom: 15px;
}
	.cb_features_head img{
	width: 125px;
}
	.cb_features_ttl{
	font-size: 24px;
		padding-right: 15px;
		padding-left: 15px;
}
	.cb_features_ttl .inner_txt span{
	font-size: 36px;
}
	.cb_features_ttl .inner_txt::before,
.cb_features_ttl .inner_txt::after{
    width: 18px;
}
	.cb_features_ttl .inner_txt::before{
    bottom: 15px;
		left: 3px;
}
	.cb_features_ttl .inner_txt::after{
    bottom: 15px;
		right: 2px;
}
}


/*cb_features_item_wrap*/
.cb_features_item_wrap_pc{
	display: block;
}

.cb_features_item_wrap{
	    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.cb_features_item{
	width: 100%;
	max-width: 318px;
}

.cb_features_item_head{
	padding-bottom: 10px;
	border-bottom: 1px solid #EF5353;
	margin-bottom: 40px;
}
.cb_features_number{
	width: 66px;
	margin: 0 auto;
	margin-bottom: 5px;
}
.cb_features_item_head h3{
	font-size: 20px;
}

.cb_features_item .img_area{
	width: 100%;
	max-width: 294px;
	margin: 0 auto;
	margin-bottom: 30px;
}

.cb_features_item_wrap_sp{
	display: none;
}

@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 767px) {
.cb_features_item_wrap_pc{
	display: none;
}
	
	.cb_features_item_wrap_sp{
		display: block;
		padding-bottom: 68px;
	}
	

.btn-more{
width:100%;
	cursor:pointer;
	position:relative;
}

.btn-more::before{
	    position: absolute;
    content:'開く';
	font-size: 13px;
	text-align: center;
	padding-top: 48px;
	background-image: url( "images/features_plus.png");
	background-size: contain;
	background-repeat: no-repeat;
    width:45px;
    height: 45px;
	top:50%;
    left: 50%;
	transform: translateX(-50%);
}

.btn-more.close::before{
	content:'閉じる';
	background-image: url( "images/features_minus.png");
}

.cb_features_accordion_inner{
	display:none;
	overflow:hidden;
	transition:max-height 0.3s ease-out;
}
.cb_features_accordion_inner.open{
	height:auto;
}
	
	
	.cb_features_item_wrap{
	    display: block;
}
	.cb_features_item{
	width: 100%;
	max-width: 328px;
		margin: 0 auto;
		margin-bottom: 60px;
}
		.cb_features_item:last-of-type{
		margin-bottom: 40px;
}
	.cb_features_item:nth-child(1) .cb_features_item_head{
		margin-bottom: 25px;
	}
	.cb_features_item:nth-child(3) .cb_features_item_head{
		margin-bottom: 25px;
	}

	.cb_features_item .img_area{
		margin-bottom: 20px;
	}
}



/*======================
cb_insta
======================*/
.cb_insta{
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: #FFFAD2;
}

.cb_insta_ttl{
	max-width: 500px;
	margin: 0 auto;
		margin-bottom: 20px;
}

@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 767px) {

}



/*======================
cb_lesson
======================*/
.cb_lesson{
	padding-top: 80px;
	padding-bottom: 80px;
}

.cb_lesson_head{
	margin-bottom: 40px;
}
.cb_lesson_ttl{
	font-size: 36px;
	display: inline-block;
	padding-bottom: 10px;
	background-image: repeating-linear-gradient(90deg, #ef5353, #ef5353 5px, transparent 5px, transparent 10px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}

.cb_lesson .txt_top{
	font-size: 18px;
	margin-bottom: 40px;
}

@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 767px) {
.cb_lesson{
	padding-top: 60px;
	padding-bottom: 40px;
}
	.cb_lesson_head{
	margin-bottom: 18px;
}
	.cb_lesson_ttl{
	font-size: 24px;
}
	.cb_lesson .txt_top{
	font-size: 16px;
	margin-bottom: 24px;
}
}

/*lesson_slider*/
.lesson_slider{
	position: relative;
	z-index: 0;
}


.infinite_slider .swiper-wrapper {
  transition-timing-function: linear;
}

.infinite_slider .swiper-slide {
  height: 165px !important; /* 高さを指定 */
  width: auto !important;
}

.photo_slider_wrap img{
	width: auto;
	height: 100%;
	object-fit: cover;
	border-radius: 15px;
}

#photo_swiper_top{
	margin-bottom: 6px;
}


.slick_slide{
	padding: 6px;
}
.lesson_slider_top img,
.lesson_slider_btm img{
	width: 100%;
	height: 165px;
	object-fit: cover;
	border-radius: 15px;
}


@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 767px) {
.infinite_slider .swiper-slide {
  height: 110px !important; 
}
	.photo_slider_wrap img{
	width: 165px;
	border-radius: 8px;
}
	
	.lesson_slider_top img,
.lesson_slider_btm img{
	height: 110px;
	border-radius: 8px;
}
}


/*cb_class_wrap*/
.cb_class_wrap{
	padding-top: 60px;
}
.cb_class_list{
	margin-bottom: 80px;
}

.cb_class_list .ttl{
	font-size: 24px;
	margin-bottom: 12px;
}

.cb_class_list_item{
	display: table;
	height: 65px;
	margin: 0 auto;
	margin-bottom: 6px;
}
.cb_class_list_item:last-of-type{
	margin-bottom: 0;
}

.cb_class_list_item .class_name{
	width: 150px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	display: table-cell;
	vertical-align: middle;
	border-radius: 12px 0 0 12px;
	padding-left: 30px;
	padding-bottom: 8px;
}
.cb_class_list_item .class_name span{
	font-size: 36px;
}

.cb_class_list_item:nth-of-type(1) .class_name{
	background-color: #FF6752;
}
.cb_class_list_item:nth-of-type(2) .class_name{
	background-color: #FF9E44;
}
.cb_class_list_item:nth-of-type(3) .class_name{
	background-color: #37C670;
}
.cb_class_list_item:nth-of-type(4) .class_name{
	background-color: #3EBCF2;
}
.cb_class_list_item:nth-of-type(5) .class_name{
	background-color: #9C63D6;
}


.cb_class_list_item .class_txt{
	font-size: 20px;
	font-weight: 700;
	width: 352px;
	display: table-cell;
	vertical-align: middle;
	border-radius: 0 12px 12px 0;
	padding-left: 30px;
}

.cb_class_list_item:nth-of-type(1) .class_txt{
	background-color: #FFF0EE;
}
.cb_class_list_item:nth-of-type(2) .class_txt{
	background-color: #FFF3E9;
}
.cb_class_list_item:nth-of-type(3) .class_txt{
	background-color: #E6F8ED;
}
.cb_class_list_item:nth-of-type(4) .class_txt{
	background-color: #E7F7FD;
}
.cb_class_list_item:nth-of-type(5) .class_txt{
	background-color: #F3EBFA;
}


@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 767px) {
	.cb_class_list{
		margin-bottom: 60px;
		padding-left: 20px;
		padding-right: 20px;
	}
.cb_class_list .ttl{
	font-size: 18px;
}
	.cb_class_list_item{
	height: 45px;
}
	.cb_class_list_item .class_name{
	width: 100px;
	font-size: 14px;
	border-radius: 10px 0 0 10px;
	padding-left: 20px;
}
	.cb_class_list_item .class_name span{
	font-size: 24px;
}
	.cb_class_list_item .class_txt{
	font-size: 14px;
	width: 235px;
	border-radius: 0 10px 10px 0;
	padding-left: 20px;
}
}


/*cb_class_data_item*/
.cb_class_data_item{
	max-width: 510px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 80px;
}
.cb_class_data_item03{
	margin-bottom: 0;
}

.cb_class_data_item .img_area{
	max-width: 504px;
	width: 100%;
}

.cb_class_data_item .ttl{
	font-size: 24px;
	margin-top: 24px;
	margin-bottom: 14px;
}
.cb_class_data_item02 .ttl{
	margin-top: 0;
}

.cb_class_data_item .txt{
	max-width: 400px;
	width: 100%;
	margin:  0 auto;
}

.lesson_wave01,.lesson_wave02{
	display: none;
}

@media only screen and (max-width: 1200px) {

}
@media only screen and (max-width: 510px) {


}
@media only screen and (max-width: 510px) {
	.cb_class_data_item{
	margin-bottom: 0;
		padding-left: 0;
		padding-right: 0;
}
		.cb_class_data_item02{
	margin-bottom: 60px;
		padding-left: 20px;
			padding-right: 20px;
}

.lesson_wave01,.lesson_wave02{
	display: block;
}
		.lesson_wave01{
		margin-top: -25px;
	}
	.lesson_wave02{
		margin-top: -15px;
	}
	
	.cb_class_data_item .txt{
	padding-left: 20px;
		padding-right: 20px;
}
}


/*cb_class_data_slider*/
.cb_class_data_slider{
	margin-top: 32px;
}
.class_data_slider_wrap{
	width: 504px;
}
.class_data_slider_wrap .swiper-slide img{
	border-radius: 12px;
	margin-bottom: 15px;
}

/*スライダーボタン*/
.my_swiper_btn_wrap{
    height: 36px;
    width: 504px;
    margin: 0 auto;
	position: absolute;
    top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 9;
}
.my_swiper_btn{
	position: relative;
    width: 100%;
    height: 36px;
	z-index: 999;
}
.my_swiper_btn .swiper-button-prev,
.my_swiper_btn .swiper-button-next {
	background-image: none;
	width: 36px; 
	height: 36px; 
	background-size: 36px 36px;
	background-repeat: no-repeat;
	background-position: center;
}
.my_swiper_btn .swiper-button-next {
		right:0;
	bottom: 0;
	background-image: url( "images/icon/icon_arrow_right.svg")!important;
}
.my_swiper_btn .swiper-button-next::after {
		content: "";
}
.my_swiper_btn .swiper-button-prev {
		left: 0;
	bottom: 0;
	background-image: url( "images/icon/icon_arrow_left.svg")!important;
}
.my_swiper_btn .swiper-button-prev::after {
		content: "";
}


@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 510px) {
.my_swiper_btn_wrap{
    width: 100%;
}
}


/*======================
cb_faq
======================*/
.cb_faq{
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #F5F5F5;
}

.cb_faq_head {
	margin-bottom: 40px;
}
.cb_faq_ttl{
	font-size: 36px;
}


@media only screen and (max-width: 767px) {
.cb_faq{
	padding-top: 40px;
	padding-bottom: 40px;
}
	.cb_faq_ttl{
	font-size: 24px;
}
	.cb_faq_head {
	margin-bottom: 24px;
}
}


/*アコーディオン全体*/
.cb_accordion_area{
    list-style: none;
	width: 100%;
    max-width: 845px;
	margin: 0 auto;
	margin-bottom: 6px;
}
.cb_accordion_area:last-of-type{
	margin-bottom: 0;
}

/*アコーディオンタイトル*/
.cb_accordion_title {
	width: 100%;
	display: table;
    position: relative;
    cursor: pointer;
    transition: all .5s ease;
	background-color: #fff;
		padding: 12px;
	padding-left: 20px;
	padding-right: 42px;
	border-radius: 12px;
}
.cb_accordion_title p{
	    font-size:16px;
	  font-weight: 700;
	display: table-cell;
	vertical-align: middle;
}

/*アイコンの＋と×*/
.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　*/
.cb_accordion_title.close::after{
background-image: url( "images/icon/modal_minus.svg");
}


/*アコーディオンで現れるエリア*/
.cb_accordion_inner {
    display: none;/*はじめは非表示*/
	border-top: 1px solid #F5F5F5;
	padding: 4px 12px;
}

.cb_accordion_content_area ul{
	display: flex;
}
.cb_accordion_content_area p{
	display: table-cell;
	vertical-align: middle;
	font-size: 16px;
}


@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 767px) {
.cb_accordion_title {
		border-radius: 8px;
}
}


/*======================
cb_present
======================*/
.cb_present{
	padding-top: 40px;
	background-color: #FFEEE8;
}

.cb_present_head{
	max-width: 427px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 40px;
}

.cb_present_item_wrap{
	margin-bottom: 40px;
}
.cb_present_item {
	max-width: 510px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	padding: 12px;
	padding-left: 18px;
	margin-bottom: 12px;
}
.cb_present_item:last-of-type{
	margin-bottom: 0;
}

.cb_present_item .txt01{
	width: 38px;
	font-size: 42px;
	color: #EF5353;
	font-weight: 700;
	margin-right: 12px;
}
.cb_present_item .txt02{
	width: 402px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
}

.cb_present_item .txt02 .txt_small{
	font-size: 24px;
}

.cb_present_item .txt03{
	line-height: 1.2;
}

.cb_present_txtbtm{
	max-width: 675px;
	width: 100%;
	margin: 0 auto;
}

@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 767px) {
	.cb_present_wrap{
		padding-bottom: 12px;
	}
	.cb_present_item_wrap{
	margin-bottom: 24px;
}
	.cb_present_item {
	padding: 8px;
	padding-left: 12px;
	margin-bottom: 8px;
}
.cb_present_item .txt01{
	width: 26px;
	font-size: 28px;
}
	.cb_present_item .txt02{
	width: 265px;
	font-size: 20px;
}
	.cb_present_item .txt02 .txt_small{
	font-size: 16px;
}
}

	


/*solution_wrap*/
.present_solution_wrap{
	background-color: #EF5353;
	padding-bottom: 40px;
	padding-top: 90px;
	position: relative;
	z-index: 0;
}

.present_solution_wrap::before{
	content: "";
	width: 100%;
	height: 90px;
	background-color:#FFEEE8;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	position: absolute;
	top: -1px;
	left: 0;
}

.present_solution_wrap::after{
	content: "";
	background: url( "images/cta_dot_bg.png")  no-repeat  top / cover;
	width: 100%;
	height: 147px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}


.present_solution_wrap .txt_area{
	padding-top: 50px;
}

.present_solution_wrap .txt_area .txt{
	display: inline-block;
	font-size: 20px;
	line-height: 1.4;
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
}

.present_solution_wrap .txt_area .txt::before,
.present_solution_wrap .txt_area .txt::after {
    background-color: #fff;
    content: "";
    height: 2px;
    width: 26px;
}

.present_solution_wrap .txt_area .txt::before {
    position: absolute;
    left: -2px;
    top: 50%;
    transform: rotate(62deg);
}
.present_solution_wrap .txt_area .txt::after {
    position: absolute;
    right: -2px;
   top: 50%;
    transform: rotate(-62deg);
}

@media only screen and (max-width: 1020px) {
	
}

@media only screen and (max-width: 767px) {
	.present_solution_wrap{
	padding-bottom: 45px;
	padding-top: 45px;
}

.present_solution_wrap::before{
	height: 45px;
}
	.present_solution_wrap::after{
	height: 45px;
}
	.present_solution_wrap .txt_area{
	padding-top: 24px;
}
.present_solution_wrap .txt_area .txt::before,
.present_solution_wrap .txt_area .txt::after {
    content: none;
}
	
	.present_solution_wrap .catbot_btn{
		margin-top: 20px;
	}
}


/*======================
モーダル
======================*/
.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{
	margin-bottom: 40px;
}
.modal_flow_wrap .cb_accordion_title{
	background-color: #F7F7F7;
	border-radius: 0;
}
.modal_flow_wrap .cb_accordion_title p{
	color: #EF5353;
	text-decoration: underline;
	font-weight: 400;
}


.modal_flow_wrap .cb_accordion_inner{
	background-color: #F7F7F7;
	padding: 12px;
}

.modal_flow_wrap .cb_accordion_inner ul{
	display: block;
}
.list_dot li{
	position: relative;
	padding-left: 18px;
font-size: 14px;
	line-height: 1.6;
	margin-bottom: 10px;
}
.list_dot li:last-child{
	margin-bottom: 0;
}
.list_dot li:before {
	content: "・";
    display: block;
    position: absolute; 
    left: 0; 
    top: 0; 
	color: #000;
    }

@media only screen and (max-width: 767px) {}




/*======================
footer
======================*/
.footer{
	background-color: #F5F5F5;
	padding-top: 40px;
	padding-bottom: 40px;
}

.footer .copy{
	margin-top: 40px;
}

@media only screen and (max-width: 768px) {

}

@media only screen and (max-width: 767px) {

}

.catbot_btn button{
	display: block;
    text-align: center;
    font-weight: bold;
    font-size: 1.1rem;
    background: linear-gradient(135deg, rgb(255, 107, 157) 0%, rgb(201, 75, 139) 50%, rgb(255, 107, 157) 100%);
    color: white;
    padding: 13px 40px;
    border-radius: 10px;
    margin-top: 6px;
    box-shadow: rgba(239, 83, 131, 0.5) 0px 4px 15px, rgba(255, 107, 157, 0.3) 0px 2px 8px;
    text-shadow: rgba(0, 0, 0, 0.3) 0px 2px 4px;
    letter-spacing: 0.3px;
    border: none;
    margin: 30px auto 0;
	cursor: pointer;
}


@media only screen and (max-width: 767px) {
	.catbot_btn button{
		margin-top: 0;
	}
}



/* PC
------------------------------------------*/
@media only screen and (min-width: 768px) {
  .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 (min-width: 768px) and (max-width: 1040px) {
  .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: 767px) {
  .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;
  }
}

