@charset "utf-8";

/* -----------------------------------------------------------
    特集ベース
-------------------------------------------------------------- */
#special{}

#special .breadcrumblist, #special .h1-area{
    top: 100px;
}

#special .accordion-icon{
    display: none;
}

/* favorite */
#special .favorite{
    color: #999;
    font: 500 2rem / 1 'Noto Sans JP', sans-serif;
    position: absolute;
    z-index: 2;
    cursor: pointer;
}
#special .favorite:hover{
    color: #de5c6f!important;
}
#special .favorite.done{
    color: #de5c6f;
}

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

    #special .accordion-icon{
        display: inline-block;
    }

    /* favorite */
    #special .favorite{
        right: 15px;
        bottom: 15px;
		font-size: 2.4rem;
    }
}


/* -----------------------------------------------------------
    特集詳細
-------------------------------------------------------------- */

/*    mv-area
-------------------------------------------------------------- */
.mv-area{
    width: 100%;
    height: 900px;
}

.mv-area > .inner02{
    height: 100%;
    padding: 60px 0 0;
    position: relative;
}

.mv-title{
	color: #fff;
	text-align: left;
}

.mv-title img{
    position: absolute;
    top: 100px;
    left: 50px;
    z-index: 2;
}

.pc-display-b{
	width: 240px;
}

.sp-mv-img{
    display: none;
}

.mv-txt-box{
    width: 1100px;
    height: auto;
    color: #fff;
    background: #d65359;
    padding: 40px 30px 40px 30px;
    position: absolute;
    bottom: -210px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 1;
	text-align: center;
}

.mv-area .basic-txt{
    margin: 30px 0 0;
    font-size: 1.7rem;
    line-height: 2.2;
}

.mv-txt-title{
    font: bold 3.5rem / 1 'Noto Sans JP', sans-serif;
    line-height: 1.7;
}

/* ページごと背景 */
.special202301 .mv-area{
    background: url("../img/special2023-01-mv.jpg") no-repeat center center / cover;
    position: relative;
}



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

    #special .mv-area{
        height: auto;
        background-position: top right;
        background-size: 100% auto;
    }

    .mv-area > .inner02{
        padding: 0 0 0;
    }

    .mv-title img{
		width: 115px;
    	top:-10px;
		left: -170px;
		
	}

	.sp-mv-img {
		display: block;
		text-align: center;
	}

	.sp-mv-img img {
    	width: 115%;
	}
	
	.sp-mv-img img{
		max-width: none;
	}

    .mv-title{
		filter: drop-shadow(0px 0px 10px rgba(0,0,0,.3));
		padding: 0;
		position: absolute;
        left: 50%;
        -webkit-transform : translateX(-50%);
        transform : translateX(-50%);
        margin: 15px 0 0 0;
		top: 2%;
		font-size: 2.8rem;
    }

   .mv-txt-box{
        width: 100%;
        padding: 20px;
        position: static;
    }

    .mv-area .basic-txt{
        margin: 15px 0 0;
		font-size: 1.5rem;
        line-height: 1.8;
		text-align: left;
    }

    .mv-txt-title{
        font-size: 2rem;
        line-height: 1.5;
		text-align: left;
    }

	#special .mv-area {
		background: none;
	}
	
	.special202301 .mv-area{
	margin-bottom: 0;
}
	
}


/*    ranking-area
-------------------------------------------------------------- */
.ranking-area{
    padding: 250px 0 80px;
}

.ranking-area .section-title{
    text-align: center;
}

/* .ranking-wrap */
.ranking-wrap{
    display: flex;
    width: 100%;
    margin: 45px 0 0;
}

.ranking-wrap > li{
    width: 230px;
    background: #fff;
    margin: 0 calc(50px / 4) 0 0;
    box-shadow: 0 0 5px 0 rgba(213, 209, 208, 0.6);
    position: relative;
}
.ranking-wrap > li:last-of-type{
    margin: 0;
}

.ranking-wrap > li.no1::before,
.ranking-wrap > li.no2::before,
.ranking-wrap > li.no3::before{
    content: '';
    width: 36px;
    height: 32px;
    position: absolute;
    top: 0;
    left: 5px;
	z-index: 1;
}
.ranking-wrap > li.no1::before{
    background: url("../img/icon-rank01.png") no-repeat center / contain;
}
.ranking-wrap > li.no2::before{
    background: url("../img/icon-rank02.png") no-repeat center / contain;
}
.ranking-wrap > li.no3::before{
    background: url("../img/icon-rank03.png") no-repeat center / contain;
}

.ranking-wrap a{
    display: block;
    padding: 0 20px 20px;
}

.ranking-img{
    display: flex;
    width: calc(100% + 40px);
    height: 160px;
    justify-content: center;
    align-items: center;
    margin: 0 -20px 20px;
    overflow: hidden;
	background: #f0f0f0;
}
.ranking-img img{
    width: auto;
    max-height: 100%;
}

.ranking-title{
    font-size: 1.4rem;
	line-height: 1.5;
}
.ranking-price{
	font: 400 1.6rem / 1 'Josefin Sans', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    margin: 8px 0 15px;
}
.ranking-price span{
    font-size: 1.2rem;
	font-weight: 500;
}

.ranking-wrap .favorite{
    padding: 0;
    right: 20px;
    bottom: 25px;
}

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

    .ranking-area{
        padding: 40px 0 15px 20px;
    }

    .ranking-area .section-title{
        text-align: left;
    }

    /* .ranking-wrap */
    .ranking-wrap{
		margin: 20px 0 0;
    }

    .ranking-wrap > li.no1::before,
	.ranking-wrap > li.no2::before,
	.ranking-wrap > li.no3::before{
		height: 32px;
		left: 5px;
	}

    .ranking-wrap > li{
		min-width: 230px;
        white-space: normal;
        margin: 0 25px 0 0;
    }

	.ranking-title{
		font-size: 1.4rem;
	}
    .ranking-price{
        margin: 10px 0;
    }
}


/*    bouquet-area
-------------------------------------------------------------- */
.bouquet-area.style2 .bouquet-mv{
    height: 450px;
    display: flex;
    justify-content: space-between;
}

.bouquet-area.style2 .bouquet-mv .in2 {
    width: 50%;
    background: #b2c27f;
    color: #fff;
    padding: 130px 50px 0 10px;
    position: relative;
    display: flex;
    justify-content: flex-end;
}

.bouquet-area.style2 .bouquet-mv .in {
    width: 50%;
    background: url("../img/special202301-arrangement-mv.jpg") center bottom / cover;
    position: relative;
}

.bouquet-mv .section-title {
    font-size: 4.5rem;
    line-height: 1.5;
    color: #FFF;
}

.bouquet-mv .section-catch {
    line-height: 1.6;
    margin: 20px 0 0;
	color: #FFF;
	font-size: 2rem;
}

.bouquet-wrap.result-area{
    width: 100%;
    background: #f0f2eb;
    padding: 65px 0 25px;
}

.bouquet-wrap .result-product-wrap{
    width: 1200px;
    margin: 0 auto;
}

.bouquet-wrap .result-product-wrap > li{
    background: #fff;
    border: none;
}

.bouquet-wrap .favorite{
    padding: 0!important;
    right: 30px;
    bottom: 30px;
}

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

    .bouquet-mv,
	.bouquet-area.style2 .bouquet-mv {
        height: 140px;
        padding: 0;
		background-position: right 30% center;
    }
	
	.bouquet-area.style2 .bouquet-mv {
        padding: 0;
	}

    .bouquet-area.style2 .bouquet-mv .in2 {
        display: block;
        padding: 50px 20px 10px 25px;
    }
	
	.bouquet-mv .section-title {
        font-size: 1.6rem;
        line-height: 1.3;
        letter-spacing: .1em;
		margin:0;
    }
	
	.bouquet-area .section-catch {
		display: none;
	}
	
    .bouquet-wrap.result-area{
        padding: 20px 10px 10px;
    }

    .bouquet-wrap .result-product-wrap{
        width: 100%;
    }

    .bouquet-wrap .favorite{
        padding: 0!important;
        right: 30px;
        bottom: 30px;
    }
}


/*    gift-area
-------------------------------------------------------------- */

.gift-mv {
	display: flex;
	justify-content: space-between;
	height: 430px;
	background: #d4bc5a;
}

.gift-mv .gift-mv-inner {
    width: 1200px;
    margin: 0 auto;
    position: relative;
}

.gift-mv .in {
    width: 700px;
    background: url("../img/pecial202301-gift-mv.png") center right / auto 85% no-repeat;
    position: relative;
    position: absolute;
    left: -50px;
    top: -55px;
    height: 540px;
    z-index: 2;
}


.gift-mv .in .section-title {
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}

.gift-mv .in2 {
    width: 600px;
    color: #fff;
    padding: 0 0 0 100px;
    position: absolute;
    top: 50%;
    -webkit-transform : translateY(-50%);
    transform : translateY(-50%);
    right: 0;
}

.gift-mv .in2 div {
	width: 520px;
}

.gift-mv .in2 .section-title {
	font-size: 4.5rem;
	color: #fff;
	line-height: 1.3;
	margin: 0 0 40px;
}

.gift-mv .section-catch {
	line-height: 2;
}

.gift-mv .sp-display-c{
	display: none;
}

.gift-wrap.result-area{
    width: 100%;
	background: #f6f1e8;
    padding: 80px 0 35px;
}

.gift-wrap .result-product-wrap{
    width: 1200px;
    margin: 0 auto;
}

.gift-wrap h3{
		line-height: 1.8;
	}

.gift-wrap .result-product-wrap > li{
    background: #fff;
    border: none;
}

.gift-wrap .favorite{
    padding: 0!important;
    right: 30px;
    bottom: 30px;
}

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

    .gift-mv {
		height: 130px;
		margin: 40px 0 0;
	}

	.gift-mv .in .section-title {
		font-size: 1.7rem;
	}

	.gift-mv .in {
		width: 60%;
		height: 155px;
		text-align: center;
		left: -35px;
    	top: -20px;
	}

	.gift-mv .in2 {
		align-items: center;
		display: flex;
		padding: 10px;
		width: 45%;
	}

	.gift-mv .in2 div {
		width:100%;
		padding: 0;
	}

	.gift-mv .in2::after {
		content: "";
	}

	.gift-mv .in2 .section-title {
		font-size: 2.3rem;
		color: #fff;
		line-height: 2.0;
		margin: 0;
	}
	
	.gift-mv .section-catch{
		display: none;
	}
	
    .gift-wrap.result-area{
        padding: 20px 10px 10px;
    }

    .gift-wrap .result-product-wrap{
        width: 100%;
    }
	
    .gift-wrap .favorite{
        padding: 0!important;
        right: 30px;
        bottom: 30px;
    }
	
}


/*    type-area
-------------------------------------------------------------- */
.type-area{
    width: 100%;
    background: url("../img/special-type-bg.jpg") repeat;
    padding: 80px 0 50px;
    position: relative;
}
.type-area::before{
    content: '';
    display: block;
    width: 100%;
    height: 360px;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
}

.type-area > .inner02{
    position: relative;
    z-index: 2;
}

.type-area .section-title{
    text-align: center;
}

.type-block-wrap{
    display: flex;
}

.type-block {
	width: 570px;
}

/* type-title */
.type-title{
    display: flex;
    width: 570px;
    align-items: center;
    font: 500 2rem / 1 'Noto Sans JP', sans-serif;
    margin: 0 auto;
}
.type-title::before, .type-title::after{
    content: '';
    height: 1px;
    background: #000;
    flex-grow: 1;
}
.type-title::before{
    margin: 0 20px 0 0;
}
.type-title::after{
    margin: 0 0 0 20px;
}

/* type-products */
.type-products{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin: 50px 0 40px;
}

.type-products > li{
    /*width: calc( 100% /3 );*/
	width: calc( 100% /2 );
    background: #fff;
    text-align: center;
	position: relative;
	padding: 0;
}

.type-products > li {
    border: 1px solid #efefef;
	margin-left:-1px;
	margin-top:-1px;
}

.type-products a{
    display: block;
}

.type-products-title{
    font-size: 2rem;
    margin: 40px 0 15px;
}

.type-products-title span{
    display: block;
    font-size: 1.4rem;
    margin: 10px 0 0;
}

.type-products-img{
	height: 142px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.type-products .basic-txt{
    text-align: left;
    padding: 15px 60px 30px;
	font-size: 1.5rem;
}

.type-products .btn-more{
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
}

.type-products-title span {
	line-height: 1.7;
}


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

    .type-area{
        background: none;
        padding: 40px 20px 10px;
    }
    .type-area::before{
        display: none;
    }

    .type-area .section-title{
        text-align: left;
    }

    .type-block-wrap{
        display: block;
    }

	.type-block {
		width: 100%;
	}

    /* type-title */
    .type-title{
        width: 100%;
        font-size: 1.8rem;
    }
    .type-title::before{
        display: none;
    }

    /* type-products */
    .type-products{
        display: block;
        margin: 20px 0 30px;
        border-bottom: none;
    }

    .type-products > li{
        width: 100%;
        text-align: left;
        padding: 20px;
    }
    

    .type-products-wrap{
        display: flex;
        width: 100%;
        flex-direction: row-reverse;
        justify-content: flex-end;
        align-items: center;
    }

    .type-products-title{
        font-size: 1.8rem;
        margin: 0 0 0 15px;
    }
    .type-products-title span{
        font-size: 1.2rem;
        line-height: 1.4;
    }

	.type-products-img{
		height: auto;
		display: block;
	}

    .type-products-img img{
        width: 60px;
    }

    .type-products .basic-txt{
        padding: 20px 0 15px;
		font-size: 1.4rem;
    }

	.type-products .btn-more{
		position: static;
		bottom: auto;
		left: auto;
		transform: none;
	}

}


/*    option-area
-------------------------------------------------------------- */
.option-area{
    text-align: center;
    padding: 80px 0 60px;
}

.option-area .section-catch{
    line-height: 1.6;
    margin: 20px 0 0;
	font-size: 2rem;
}

/* .option-wrap */
.option-wrap{
    display: flex;
    width: 100%;
    background: #f7f8fc;
    margin: 50px 0;
}

.option-wrap > li{
    width: calc(100% / 3);
    padding: 70px 45px 45px;
    border-right: 4px solid #fff;
    position: relative;
}
.option-wrap > li:last-of-type{
    border-right: none;
}

.option-free{
    width: 70px;
    height: 60px;
    color: #fff;
    font-weight: bold;
    font-size: 1.8rem;
	/*
	width: 100px;
	height: 74px;
    background: url("../img/icon-option.png") no-repeat top left / contain;
	*/
	background: #bc9422;
    padding: 22px 0 0;
    position: absolute;
    top: 0;
    left: 0;
}

.option-title{
    color: #bc9422;
    font: 500 2.2rem / 1 'Noto Sans JP', sans-serif;
}

.option-img{
    margin: 20px 0;
	height: 211px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.option-wrap .basic-txt{
    text-align: left;
	font-size: 1.5rem;
}

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

    .option-area{
        padding: 0 20px 20px;
    }

    .option-area .section-title{
        text-align: left;
    }

    /* .option-wrap */
    .option-wrap{
        display: block;
        width: calc(100% + 40px);
        margin: 20px -20px;
		background: #f5f5f5;
    }

    .option-wrap > li{
        width: 100%;
        padding: 0;
        border-right: none;
        border-bottom: 3px solid #fff;
    }
    .option-wrap > li:last-of-type{
        border-bottom: none;
    }

    .option-acc{
        display: flex;
        width: 100%;
        align-items: center;
        padding: 10px 20px 10px 0;
        position: relative;
    }

    .option-wrap .accordion-icon span{
        background-color: #bc9422;
    }

    .option-free{
        display: inline-block;
        width: auto;
        height: auto;
        font-size: 1.4rem;
        background: #bc9422;
        padding: 12px 13px 8px;
        margin: 0 10px 0 0;
        position: static;
    }

    .option-title{
        font-size: 1.8rem;
    }

    .option-img{
        margin: 0 0 0 15px;
		height: auto;
		display: inherit;
    }
    .option-img img{
        width: auto;
        height: 50px;
    }

    .option-wrap .basic-txt{
        display: none;
        padding: 0 20px 20px;
    }
}


/*    products-area
-------------------------------------------------------------- */
.products-area{
    width: 100%;
    height: 435px;
    background: url("../img/special202106-giftset-mv.jpg") no-repeat left bottom / cover;
    padding: 70px 0 0;
	color: #fff;
}

.products-area > .inner02 {
    padding: 0;
}

.special-products-title{
    font: 500 3.5rem / 1.5 'Noto Sans JP', sans-serif;
}

.products-area .basic-txt{
    margin: 25px 0;
}

.products-area .btn-more{
    text-align: left;
}

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

    .products-area{
        height: auto;
		/*
        background: url("../img/special-products-bg-sp.jpg") no-repeat center right / cover;
		*/
		background-size: auto 150px;
		background-position: center top;
        padding: 180px 20px 50px 20px;
		color: #333;
    }

    .special-products-title{
        font-size: 2rem;
    }

    .products-area .basic-txt{
        margin: 15px 0 25px 0;
    }

    .products-area .btn-more{
        text-align: left;
    }
}
