@charset "UTF-8";
/*
Author: あそびラボ
*/

/*=======================================================
MV
=======================================================*/
.bl_lower_mv_ttl {
	padding-top: 32px;
}
.bl_lower_mv_inner::after {
	content: "";
	background: url(../images/smart-plan-restaurant/mv_chara.png) top center/contain no-repeat;
	width: 140px;
	height: 140px;
	position: absolute;
	top: 4px;
	right: 176px;
}
.el_att {
	text-indent: -1em;
    padding-left: 1em;
}
.el_att::before {
    position: static;
}
@media screen and (max-width : 750px){
.bl_lower_mv_ttl {
	padding-top: 48px;
}
.bl_lower_mv_inner::after {
	width: 164px;
	height: 164px;
	top: 24px;
	right: 16px;
}
}
/*=======================================================
共通項目
=======================================================*/
.txt_orange {
	color: #E66342;
	font-weight: bold;
}
.txt_bold {
	font-weight: bold;
}
.txt_sm {
	font-size: 22px;
}
.bl_media_txt + .bl_media_txt {
	margin-top: 1.3em;
}
.el_sec_boxTtl {
	padding-top: 4px;
}
@media screen and (max-width : 750px){
    .txt_sm {
	    font-size: 28px;
    }
}
/*=======================================================
about
=======================================================*/
.bl_about {
	padding: 40px 0 56px;
}
.bl_intro_txt {
	text-align: center;
	margin-bottom: 40px;
}
.bl_about .bl_media {
	margin-bottom: 56px;
}
.bl_about .bl_media_ttl,
.bl_recommend_ttl {
	width: 100%;
	background-color: #34385A;
	font-size: 26px;
	font-weight: bold;
	color: #FFFFFF;
	letter-spacing: 1.04px;
	text-align: center;
	padding: 6px 0 4px;
	margin-bottom: 32px;
}
.bl_about .bl_media_imgWrapper {
	width: 490px;
}
.bl_about .bl_media_body {
	width: 486px;
}
.bl_recommend_list {
	display: flex;
	flex-flow: wrap;
	gap: 30px;
}
.bl_recommend_item {
	width: 320px;
	background: #FFF6EF;
    border: 1px solid #E66342;
    border-radius: 6px;
	padding: 24px 0;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	letter-spacing: 0.68px;
	position: relative;
}
.bl_recommend_item::after {
	position: absolute;
	content: "";
    width: 84px;
    height: 84px;
    bottom: 0;
    right: 0;
}
.bl_recommend_item:first-of-type:after {
	background: url(../images/smart-plan-restaurant/about-icon01.svg) top center / contain no-repeat;
}
.bl_recommend_item:nth-of-type(2):after {
	background: url(../images/smart-plan-restaurant/about-icon02.svg) top center / contain no-repeat;
}
.bl_recommend_item:nth-of-type(3):after {
	background: url(../images/smart-plan-restaurant/about-icon03.svg) top center / contain no-repeat;
}
.bl_recommend_item:nth-of-type(4):after {
	background: url(../images/smart-plan-restaurant/about-icon04.svg) top center / contain no-repeat;
}
.bl_recommend_item:nth-of-type(5):after {
	background: url(../images/smart-plan-restaurant/about-icon05.svg) top center / contain no-repeat;
}
.bl_recommend_item:nth-of-type(6):after {
	background: url(../images/smart-plan-restaurant/about-icon06.svg) top center / contain no-repeat;
}
@media screen and (max-width : 750px){
	.bl_about {
	    padding: 40px 0 80px;
    }
    .bl_intro_txt {
	    text-align: start;
	    margin-bottom: 56px;
    }
    .bl_about .bl_media {
	    margin-bottom: 64px;
    }
    .bl_about .bl_media_ttl,
    .bl_recommend_ttl {
	    font-size: 32px;
	    padding: 8px 0 6px;
    }
    .bl_about .bl_media_imgWrapper {
	    width: 100%;
		margin-bottom: 32px;
    }
    .bl_about .bl_media_body {
	    width: 100%;
    }
    .bl_recommend_list {
	    flex-flow: column;
	    gap: 32px;
    }
    .bl_recommend_item {
	    width: 100%;
		height: 140px;
        border-radius: 12px;
	    padding: 24px 0;
		display: flex;
		align-items: center;
		justify-content: center;
    }
    .bl_recommend_item::after {
        width: 140px;
        height: 140px;
    }
}
/*=======================================================
reason
=======================================================*/
.bl_reason {
	padding: 56px 0;
	background-color: #34385A;
}
.bl_reason .el_sec_mainTtl {
	color: #F8E633;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1.04px;
	margin-bottom: 40px;
}
.bl_reason_list {
	display: flex;
	flex-flow: wrap;
	gap: 40px;
}
.bl_reason_item {
	width: 490px;
	background-color: #FFFFFF;
	border-radius: 10px;
	position: relative;
}
.bl_reason_item:first-of-type,
.bl_reason_item:nth-of-type(2) {
	padding: 24px 22px 24px;
}
.bl_reason_item:nth-of-type(3),
.bl_reason_item:nth-of-type(4) {
	padding: 24px 22px 80px;
}
.bl_reason_item::after {
	position: absolute;
	content: "";
    width: 166px;
    height: 166px;
    bottom: 0;
    right: 0;
}
.bl_reason_item .el_att {
	margin-top: 16px;
	font-size: 14px;
}
.bl_reason_item:first-of-type:after {
	background: url(../images/smart-plan-restaurant/reason-icon01.svg) top center / contain no-repeat;
}
.bl_reason_item:nth-of-type(2):after {
	background: url(../images/smart-plan-restaurant/reason-icon02.svg) top center / contain no-repeat;
}
.bl_reason_item:nth-of-type(3):after {
	background: url(../images/smart-plan-restaurant/reason-icon03.svg) top center / contain no-repeat;
}
.bl_reason_item:nth-of-type(4):after {
	background: url(../images/smart-plan-restaurant/reason-icon04.svg) top center / contain no-repeat;
}
.bl_reason_item > dl > dt {
	font-size: 22px;
	color: #34385A;
	font-weight: bold;
	letter-spacing: 0.88px;
	text-align: center;
	margin-bottom: 8px;
}
@media screen and (max-width : 750px){
	.bl_reason {
	    padding: 64px 0 80px;
    }
    .bl_reason .el_sec_mainTtl {
	    font-size: 32px;
    }
    .bl_reason_list {
	    flex-flow: column;
    }
    .bl_reason_item,
	.bl_reason_item:nth-of-type(3),
    .bl_reason_item:nth-of-type(4) {
	    width: 100%;
	    padding: 32px;
    }
    .bl_reason_item::after {
        width: 180px;
        height: 180px;
    }
    .bl_reason_item > dl > dt {
	    font-size: 32px;
	    margin-bottom: 16px;
    }
	.bl_reason_item .el_att {
	    margin-top: 24px;
	    font-size: 22px;
    }
}
/*=======================================================
after
=======================================================*/
.bl_after {
	padding: 56px 0;
}
.bl_after .bl_cardUnit {
	justify-content: space-between;
}
.bl_after .bl_card {
    width: 490px;
}
.bl_after .el_card_ttl {
	background-color: #3FB56C;
	width: 100%;
	color: #FFFFFF;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.88px;
	text-align: center;
	padding-top: 3px;
	margin-bottom: 16px;
}
@media screen and (max-width : 750px){
	.bl_after {
	    padding: 64px 0 80px;
    }
    .bl_after .bl_cardUnit {
	    gap: 40px;
    }
    .bl_after .bl_card {
        width: 100%;
    }
    .bl_after .el_card_ttl {
	    font-size: 32px;
	    padding-top: 4px;
	    margin-bottom: 24px;
    }
}
/*=======================================================
price
=======================================================*/
.bl_price {
    padding: 56px 0;
	background-color: #EFF8F1;
}
.bl_price .el_sec_boxTtl {
	margin-bottom: 56px;
}
.bl_price_cont {
	width: 750px;
	margin: 0 auto;
	background: #FFFFFF;
    box-shadow: 0px 3px 6px #00000029;
    border: 1px solid #00A01F;
	padding-bottom: 32px;
    border-radius: 16px;
}
.el_price_cont_ttl {
	text-align: center;
	font-size: 26px;
	font-weight: bold;
	color: #FFEB00;
	letter-spacing: 1.04px;
	background-color: #00A01F;
	border-radius: 16px 16px 0 0;
	padding: 19px 0;
	margin-bottom: 56px;
}
.bl_price_set {
	text-align: center;
	margin-bottom: 48px;
	position: relative;
}
.bl_price_set::after {
	position: absolute;
	content: "";
    width: 616px;
    height: 1px;
	border: 1px solid #00A01F;
    bottom: -16px;
    left: 50%;
	transform: translateX(-50%);
}
.el_price {
	font-size: 40px;
	font-weight: bold;
	letter-spacing: 1.6px;
}
.el_price .txt_sm {
    padding-left: 8px;
}
.el_price.txt_sm {
	font-size: 17px;
	font-weight: lighter;
	letter-spacing: 0.68px;
}
.bl_price_list {
	display: flex;
	flex-flow: column;
	gap: 8px;
	margin: 0 258px 32px;
}
.bl_price_item {
	position: relative;
	letter-spacing: 0.68px;
}
.bl_price_item::before {
    position: absolute;
	content: "";
    width: 16px;
    height: 14px;
	background: url(../images/smart-plan-restaurant/price-icon01.svg) top center / contain no-repeat;
    top: 50%;
	transform: translateY(-50%);
    left: -24px;
}
.bl_price_example {
	width: 616px;
	background-color: #EFF8F1;
	margin: 0 auto 16px;
	padding: 24px 0;
	position: relative;
}
.bl_price_example::before {
    position: absolute;
	content: "";
    width: 136px;
    height: 136px;
	background: url(../images/smart-plan-restaurant/price_img01.png) top center / contain no-repeat;
    top: -80px;
    right: 20px;
}
.bl_price_example::after {
    position: absolute;
	content: "";
    width: 170px;
    height: 116px;
	background: url(../images/smart-plan-restaurant/price_img02.png) top center / contain no-repeat;
    bottom: 0;
    left: 16px;
}
.el_price_example_ttl {
	text-align: center;
	color: #00A01F;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.88px;
	margin-bottom: 16px;
}
.bl_price_example_list {
	padding: 0 136px 0 192px;
}
.bl_price_cont .el_att {
	margin-left: 66px;
	font-size: 14px;
}
@media screen and (max-width : 750px){
	.bl_price {
        padding: 64px 0 80px;
    }
    .bl_price_cont {
	    width: 100%;
	    padding-bottom: 40px;
    }
    .el_price_cont_ttl {
	    font-size: 32px;
	    padding: 19px 0;
	    margin-bottom: 40px;
    }
    .bl_price_set::after {
        bottom: -24px;
    }
    .el_price {
	    font-size: 52px;
    }
    .el_price .txt_sm {
        padding-left: 16px;
    }
    .el_price.txt_sm {
	    font-size: 28px;
    }
    .bl_price_list {
	    margin: 0 170px 40px;
    }
    .bl_price_item::before {
        width: 20px;
        height: 18px;
        left: -32px;
    }
	.bl_price_example {
		padding: 32px 0;
	}
    .bl_price_example::before {
        width: 146px;
        height: 146px;
    }
    .bl_price_example::after {
        display: none;
    }
    .el_price_example_ttl {
		font-size: 32px;
	    margin-bottom: 24px;
    }
	.bl_price_example_list {
	    padding: 0 72px;
    }
    .bl_price_cont .el_att {
	    margin-left: 40px;
	    font-size: 22px;
    }
}
/*=======================================================
flow
=======================================================*/
.bl_flow {
    padding: 56px 0;
}
.bl_flow .el_sec_boxTtl {
	margin-bottom: 56px;
}
.bl_flow_list {
	display: flex;
	flex-flow: column;
	gap: 16px;
	align-items: end;
}
.bl_flow_item {
	width: 925px;
	padding: 16px 72px;
	border-radius: 10px;
	position: relative;
}
.bl_flow_item::after {
	position: absolute;
	content: "";
    width: 130px;
    height: 144px;
    top: 50%;
	transform: translateY(-50%);
    left: -96px;
}
.bl_flow_item:first-of-type {
    background-color: rgba(98,196,170,0.08);
}
.bl_flow_item:first-of-type::after {
	background: url(../images/smart-plan-restaurant/flow_img01.svg) top center / contain no-repeat;
	z-index: 5;
}
.bl_flow_item:nth-of-type(2) {
    background-color: rgba(148,185,229,0.08);
}
.bl_flow_item:nth-of-type(2)::after {
    background: url(../images/smart-plan-restaurant/flow_img02.svg) top center / contain no-repeat;
	z-index: 4;
}
.bl_flow_item:nth-of-type(3) {
    background-color: rgba(184,164,221,0.08);
}
.bl_flow_item:nth-of-type(3)::after {
    background: url(../images/smart-plan-restaurant/flow_img03.svg) top center / contain no-repeat;
	z-index: 3;
}
.bl_flow_item:nth-of-type(4) {
    background-color: rgba(255,170,180,0.08);
}
.bl_flow_item:nth-of-type(4)::after {
    background: url(../images/smart-plan-restaurant/flow_img04.svg) top center / contain no-repeat;
	z-index: 2;
}
.bl_flow_item:nth-of-type(5) {
    background-color: rgba(255,152,111,0.08);
}
.bl_flow_item:nth-of-type(5)::after {
    background: url(../images/smart-plan-restaurant/flow_img05.svg) top center / contain no-repeat;
	z-index: 1;
}
.bl_flow_item:nth-of-type(6) {
    background-color: rgba(234,195,78,0.08);
}
.bl_flow_item:nth-of-type(6)::after {
    background: url(../images/smart-plan-restaurant/flow_img06.svg) top center / contain no-repeat;
}
.bl_flow_item > dl > dt {
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0px;
}
@media screen and (max-width : 750px){
	.bl_flow {
        padding: 64px 0 88px;
    }
	.bl_flow .el_sec_boxTtl {
	    margin-bottom: 80px;
    }
    .bl_flow_list {
	    gap: 96px;
    }
    .bl_flow_item {
	    width: 100%;
	    padding: 48px 40px 24px;
    }
    .bl_flow_item::after {
        width: 270px;
        height: 104px;
        top: 0;
        left: 30%;
    }
    .bl_flow_item:first-of-type::after {
	    background: url(../images/smart-plan-restaurant/flow_img01-sp.svg) top center / contain no-repeat;
    }
    .bl_flow_item:nth-of-type(2)::after {
        background: url(../images/smart-plan-restaurant/flow_img02-sp.svg) top center / contain no-repeat;
    }
    .bl_flow_item:nth-of-type(3)::after {
        background: url(../images/smart-plan-restaurant/flow_img03-sp.svg) top center / contain no-repeat;
    }
    .bl_flow_item:nth-of-type(4)::after {
        background: url(../images/smart-plan-restaurant/flow_img04-sp.svg) top center / contain no-repeat;
    }
    .bl_flow_item:nth-of-type(5)::after {
        background: url(../images/smart-plan-restaurant/flow_img05-sp.svg) top center / contain no-repeat;
    }
    .bl_flow_item:nth-of-type(6)::after {
        background: url(../images/smart-plan-restaurant/flow_img06-sp.svg) top center / contain no-repeat;
    }
    .bl_flow_item > dl > dt {
	    font-size: 32px;
		text-align: center;
		margin-bottom: 16px;
    }
}
/*=======================================================
sample
=======================================================*/
.bl_sample {
	padding: 56px 0;
    background-color: #34385A;
}
.bl_sample .el_sec_mainTtl {
	font-size: 26px;
	color: #F8E633;
	text-align: center;
	margin-bottom: 40px;
}
.bl_sample .bl_cardUnit {
    flex-wrap: nowrap;
	justify-content: center;
    gap: 16px;
}
.bl_sample .bl_card {
    width: 240px;
}
.bl_sample .bl_card_imgWrapper > figcaption {
    margin-top: 16px;
    text-align: center;
	color: #FFFFFF;
}
@media screen and (max-width: 750px) {
	.bl_sample {
	    padding: 64px 0 80px;
    }
	.bl_sample .el_sec_mainTtl {
	    font-size: 32px;
    }
    .bl_sample .bl_cardUnit {
	    flex-flow: column;
        gap: 40px;
    }
    .bl_sample .bl_card {
        width: 100%;
    }
	.bl_sample .bl_card_imgWrapper > figcaption {
        margin-top: 24px;
    }
}
/*=======================================================
faq
=======================================================*/
.bl_faq {
    padding: 56px 0;
}
.bl_faq .bl_sec_mainTtl {
    width: 238px;
    margin: 0 auto 40px;
}
.bl_faq_def {
    display: flex;
    flex-flow: column;
    gap: 32px;
}
.bl_faq_item > .bl_faq_dttl{
	width: 1020px;
	height: auto;
	background: #0F0F0F;
	font-size: 22px;
	color: #fff;
	font-weight: bold;
	display: flex;
	align-items: center;
	padding: 12px 80px 9px;
	position: relative;
    cursor: pointer;
}
.bl_faq_item > .bl_faq_dttl::before{
	content: '';
	position: absolute;
	background: url(../images/smart-plan-restaurant/icon_q.svg) top center / contain no-repeat;
	width: 24px;
	height: 24px;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
}
.bl_faq_item > .bl_faq_dttl::after{
	content: '▼';
    position: absolute;
    width: 30px;
    height: 30px;
    border-radius: 5px;
    padding: 4px 0 0 2px;
    background: #7C31E1;
    font-size: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 50%;
	transform: translateY(-50%);
    right: 22px;
}
.bl_faq_item > .bl_faq_dttl.active::after{
	content: '▲';
}
.bl_faq_item > .bl_faq_ddata{
    margin-top: 24px;
	display: none;
}
@media screen and (max-width: 750px) {
    .bl_faq {
        padding: 80px 0 104px;
    }
    .bl_faq .bl_sec_mainTtl {
        width: 356px;
        margin: 0 auto 64px;
    }
    .bl_faq_def {
        gap: 56px;
    }
    .bl_faq_item > .bl_faq_dttl{
	    width: 100%;
	    font-size: 32px;
	    padding: 9px 112px 9px 96px;
    }
    .bl_faq_item > .bl_faq_dttl::before{
	    width: 32px;
	    height: 32px;
	    left: 32px;
    }
    .bl_faq_item > .bl_faq_dttl::after{
        width: 48px;
        height: 48px;
        font-size: 24px;
        right: 32px;
    }
    .bl_faq_item > .bl_faq_ddata{
        margin-top: 32px;
    }
}
/*=======================================================
preparation
=======================================================*/
.bl_preparation {
    padding: 56px 0;
	background-color: #EFF8F1;
	margin-bottom: 80px;
}
.bl_preparation .el_sec_boxTtl {
	margin-bottom: 56px;
}
.bl_preparation_cont {
	width: 860px;
	background-color: #FFFFFF;
	border: 1px solid #5FC377;
	margin: auto;
	padding: 40px 0;
	position: relative;
}
.bl_preparation_cont::before,
.bl_preparation_cont::after {
	position: absolute;
	content: "";
}
.bl_preparation_cont::before {
	background: url(../images/smart-plan-restaurant/preparation_img01.png) top center / contain no-repeat;
	width: 100px;
    height: 100px;
    top: 112px;
    left: 40px;
}
.bl_preparation_cont::after {
	background: url(../images/smart-plan-restaurant/preparation_img02.png) top center / contain no-repeat;
	width: 150px;
    height: 162px;
    bottom: 0;
    right: 0;
}
.bl_preparation_def {
	display: flex;
	flex-flow: column;
	gap: 32px;
}
.bl_preparation_def > div:first-of-type {
    padding: 0 170px;
}
.bl_preparation_def > div:nth-of-type(2) {
    padding: 0 152px;
	margin-bottom: 32px;
}
.bl_preparation_dttl {
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	color: #3FB56C;
	letter-spacing: 0px;
	margin-bottom: 16px;
}
.bl_preparation_cont .el_att {
	font-size: 14px;
	padding: 0 190px;
}
@media screen and (max-width: 750px) {
	.bl_preparation {
        padding: 64px 0 80px;
    }
    .bl_preparation_cont {
	    width: 100%;
	    padding: 40px 0 144px;
    }
    .bl_preparation_cont::before {
	    display: none;
    }
    .bl_preparation_cont::after {
	    width: 160px;
        height: 172px;
    }
    .bl_preparation_def {
	    gap: 40px;
    }
    .bl_preparation_def > div:first-of-type {
        padding: 0 40px;
    }
    .bl_preparation_def > div:nth-of-type(2) {
        padding: 0 40px;
	    margin-bottom: 40px;
    }
    .bl_preparation_dttl {
	    font-size: 32px;
	    margin-bottom: 24px;
    }
    .bl_preparation_cont .el_att {
	    font-size: 22px;
	    padding: 0 60px;
    }
}