@charset "utf-8";

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

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

#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;
}


br.pc-br{
	display: inline;
}
br.sp-br{
	display: none;
}

@media screen and (max-width: 667px){
    
    #special .accordion-icon{
        display: inline-block;
    }
	
    /* favorite */
    #special .favorite{
        right: 15px;
        bottom: 15px;
		font-size: 2.4rem;
    }
	
	br.pc-br{
		display: none;
	}
	br.sp-br{
		display: inline;
	}
}


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

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

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

.mv-title{
	font-size: 7rem;
	color: #fff;
	text-align: left;
	line-height: 1.3;
	margin: 20px 0 0;
}

.mv-img{
    position: absolute;
    top: 430px;
    left: -115px;
    z-index: 2;
}
.sp-mv-img{
    display: none;
}

.mv-txt-box{
    width: 900px;
    color: #fff;
    background: #cbaa8e;
    padding: 70px 75px 40px;
    position: absolute;
    bottom: -70px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
}

.mv-area .basic-txt{
    margin: 30px 0 0;
}

.mv-txt-title{
    font: bold 3.5rem / 1 'Noto Sans JP', sans-serif;
    text-align: center;
}

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

@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-img{
		top: auto;
		left: auto;
		right: 10px;
		bottom: -40px;
	}
	.mv-img img{
		width: 120px;
	}
	
    .sp-mv-img{
		display: block;
		text-align: center;
	}
	
    .mv-title{
		filter: drop-shadow(0px 0px 10px rgba(0,0,0,.8));
		padding: 0;
		position: absolute;
        margin: 10px 20px 40px;
		top: 2%;
		font-size: 2.8rem;
    }
	
    .mv-title img{
        width: 150px;
    }

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

    .mv-area .basic-txt{
        margin: 10px 0 0;
		font-size: 1.5rem;
    }

    .mv-txt-title{
        font-size: 2rem;
        line-height: 1.5;
        text-align: left;
    }
	
	/* ページごと背景 */
	.special202101 .mv-area{
		background: none;
	}
	
}


/*    ranking-area
-------------------------------------------------------------- */
.ranking-area{
    padding: 140px 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 40px 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-mv{
    width: 100%;
    height: 400px;
    background: url("../img/special202105-preserved-mv.jpg") no-repeat right center / cover;
    padding: 170px 0 0;
}

.bouquet-area.style2 .bouquet-mv{
    width: 100%;
    height: 400px;
    background: url("../img/special202105-arrange-mv.jpg") no-repeat right center / cover;
    padding: 170px 0 0;
}

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

.bouquet-wrap.result-area{
    width: 100%;
    background: #f5f3ed;
    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: 23px 20px 0;
		background-position: right 30% center;
    }
	
	.bouquet-area.style2 .bouquet-mv {
        padding: 55px 20px 0;
	}
	
	.bouquet-mv .section-title {
		line-height: 1.4;
	}
	
	.bouquet-area .section-catch {
		margin: 5px 15px 20px;
		font-weight: 400;
		font-size: 1.5rem;
		line-height: 1.8;
	}

    .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: 500px;
}

.gift-mv .in {
	width: 50%;
	background:url("../img/special202105-giftimg.jpg") center top / cover;
	position: relative;
}

.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: 50%;
	background:#fb7598;
	color: #fff;
	padding: 120px 0 0 60px;
	position: relative;
}

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

.gift-mv .in2::after {
	content: url("../img/special202105-giftline.png");
	position: absolute;
	left: 520px;
}

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

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

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

.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: 140px;
		margin: 40px 0 0;
	}

	.gift-mv .in .section-title {
		font-size: 1.7rem;
	}
	
	.gift-mv .in {
		width: 40%;
		text-align: center;
	}

	.gift-mv .in2 {
		padding: 20px;
		width: 60%;
	}

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

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

	.gift-mv .in2 .section-title {
		font-size: 1.6rem;
		color: #fff;
		line-height: 2.0;
		margin: 0 0 20px;
	}
    .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;
    border: 1px solid #efefef;
    border-right: none;
}

.type-products > li{
    width: 50%;
    background: #fff;
    text-align: center;
	position: relative;
	/*
	padding: 0 0 100px;
	*/
	padding: 0;
}
.type-products > li:nth-of-type(2n){
    border-left: 1px solid #efefef;
}

.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 25px 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: 1px solid #efefef;
        border-bottom: none;
    }

    .type-products > li{
        width: 100%;
        text-align: left;
        border-bottom: 1px solid #efefef;
        padding: 20px;
    }
    .type-products > li:nth-of-type(2n){
        border-left: none;
    }

    .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/special202105-products-bg.jpg") no-repeat left bottom / cover;
    padding: 70px 0 0;
}

.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;
    }

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

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

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

/*    giftarea
-------------------------------------------------------------- */
.giftarea {
	margin: 80px 0;
}

.giftarea .section-title {
	text-align: center;
	margin: 0 0 40px;
}

.gift-list {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.gift-list li {
	width: 270px;
	box-shadow: 0px 0px 6px 3px #ddd;
}
.gift-list li .name {
	padding: 30px 0 20px;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
}

.gift-list li .img img {
	width: 270px;
}

@media screen and (max-width: 667px){
	.giftarea {
		margin: 0 0 40px;
	}

	.giftarea .section-title {
		text-align: left;
		margin: 0 0 20px;
	}

	.gift-list {
		flex-wrap: wrap;
	}

	.gift-list li {
		width: 48%;
		margin: 0 0 20px;
	}
	.gift-list li .name {
		padding: 23px 0 15px;
		font-size: 1.6rem;
	}

	.gift-list li .img img {
		width: 100%;
	}
}