/* ----------------------------------------
e87.com いいはなドットコム　CSS

date:2015/1/19
birthday
---------------------------------------- */
@charset "Shift_JIS"; /* --------------------------------------------------------------------
元CSS
--------------------------------------------------------------------- */
.mt20 { margin: 20px 0 0!important;}
.mt10 { margin: 10px 0 0!important;}
.mb20{ margin: 0 0 20px!important;}
#birthday_ { font-size: 12px; line-height: 1.8; }
#birthday_ img { max-width: 100%;width:100%; }
#birthday_ #breadcrumbs { padding: 0 10px 10px 10px; }
#birthday_ .visual_ img { width: 100%;  height: auto;}
#birthday_ .top_comment_ { margin: 10px; }
#birthday_ .use_select_ { text-align: center; padding: 0 10px; }
#birthday_ .use_select_ select { width: 100%; padding: 10px; }
#birthday_ .link_quickorder_ { margin: 20px 10px; }

article#body{
    max-width:680px;
    margin:0;
}
#birthday_ .contents_box_ {}
#birthday_ .contents_box_ h3.contents_ttl_ { color: #ee244b; font-weight: bold; padding: 4px 35px; line-height: 27px; margin-top: 10px; 
background: url(//img.e87.com/s/birthday/img/index/h3contents_ttl.png) no-repeat 4px 4px #fbf3f4; 
border-radius: 5px; 
-moz-border-radius: 5px; 
-webkit-border-radius: 5px; 
border: solid 2px #f5e6e7; }
#birthday_ .contents_box_ h3.contents_ttl_ a { color: #ee244b; display: block; text-decoration: none; }
#birthday_ .contents_box_ .item_line_ {width: 96%; display: box; display: -moz-box; display: -webkit-box; margin: 2%;}
#birthday_ .contents_box_ .item_line_ dl { width: 100%; box-flex: 1; -moz-box-flex: 1; -webkit-box-flex: 1; margin-right: 10px; overflow: hidden; }
#birthday_ .contents_box_ .item_line_ dl:last-child { margin-right: 0; }
#birthday_ .contents_box_ .item_line_ dl .img_ a { display: block; line-height: 0; }
#birthday_ .contents_box_ .item_line_ dl .comment_ { color: #401f1f; font-size: 10px; margin-top: 3px; }
#birthday_ .contents_box_ .item_line_ dl .name_ { color: #705252; margin-top: 3px; }
#birthday_ .contents_box_ .item_line_ dl .name_ a { color: #705252; }
#birthday_ .contents_box_ .item_line_ dl .price_ { color: #401f1f; margin-top: 3px; }
#birthday_ .contents_box_ .item_line_ dl .price_ span { display: block; font-size: 10px; }
#birthday_ .contents_box_ .item_line_ dl .btn_shosai { background: #d03c81; border-radius: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; text-align: center; padding: 2px; margin: 4px 0; text-decoration: none; color: #fff; }
#birthday_ .contents_box_ .item_line_ dl .btn_ex { background:#792C35; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; text-align: center; padding: 2px; margin: 4px 0; text-decoration: none; color: #fff; }
#birthday_ .contents_box_ .item_line_ dl .btn_shosai a { text-decoration: none; color: #fff; font-size: 80%; }
#birthday_ .contents_box_ .item_line_ dl .btn_name { border: #b0b0b0 1px solid; padding: 4px; 
background: #ffffff; 
background: -moz-linear-gradient(top, #ffffff 1%, #f5f5f5 50%, #eaeaea 98%, #ffffff 100%); 
background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,#ffffff), color-stop(50%,#f5f5f5), color-stop(98%,#eaeaea), color-stop(100%,#ffffff)); 
background: -webkit-linear-gradient(top, #ffffff 1%,#f5f5f5 50%,#eaeaea 98%,#ffffff 100%); 
background: -o-linear-gradient(top, #ffffff 1%,#f5f5f5 50%,#eaeaea 98%,#ffffff 100%);
background: -ms-linear-gradient(top, #ffffff 1%,#f5f5f5 50%,#eaeaea 98%,#ffffff 100%); 
background: linear-gradient(to bottom, #ffffff 1%,#f5f5f5 50%,#eaeaea 98%,#ffffff 100%); 
background: url(//img.e87.com/s/birthday/img/index/arw01.png) no-repeat 97% 50%; 
background-size: 8px 11px; 
-webkit-background-size: 8px 11px; 
-moz-background-size: 8px 21px; 
color: #fff; float: left;
border-radius: 5px; 
-webkit-border-radius: 5px; 
-moz-border-radius: 5px; 
width: 90%; 
margin: 0; }
#birthday_ .contents_box_ .item_line_ dl .btn_name a { display: block; color: #333; text-decoration: none; padding-right: 8px; font-size: 80%; }
#birthday_ .contents_box_ .item_pre_ { width: 100%; display: box; display: -moz-box; display: -webkit-box; margin-top: 10px; background: #fcf5ff; }
#birthday_ .contents_box_ .item_pre_ dl { width: 100%; box-flex: 1; -moz-box-flex: 1; -webkit-box-flex: 1; margin: 5px; }
#birthday_ .contents_box_ .item_pre_ dl .ttl_ h4 { display: block; width: 100%; clear: both; color: #794091; font-weight: bold; font-size: 110%; }
#birthday_ .contents_box_ .item_pre_ dl .img_ a { display: block; line-height: 0; }
#birthday_ .contents_box_ .item_pre_ dl .comment_ { color: #401f1f; font-size: 10px; margin-top: 3px; }
#birthday_ .contents_box_ .item_pre_ dl .name_ { color: #705252; margin-top: 1.5em; }
#birthday_ .contents_box_ .item_pre_ dl .name_ a { color: #705252; }
#birthday_ .contents_box_ .item_pre_ dl .price_ { color: #401f1f; margin-top: 3px; }
#birthday_ .contents_box_ .item_pre_ dl .price_ span { display: block; font-size: 10px; }
#birthday_ .contents_box_ .item_pre_ dl .btn_shosai { background: #ff6c88; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; text-align: center; padding: 8px; margin: 8px; text-decoration: none; color: #fff; }
#birthday_ .contents_box_ .item_pre_ dl .btn_shosai a { text-decoration: none; color: #fff; }
#birthday_ .contents_box_ .item_rose_ { width: 100%; display: box; display: -moz-box; display: -webkit-box; background: #fff5ee; }
#birthday_ .contents_box_ .item_rose_ dl { width: 100%; box-flex: 1; -moz-box-flex: 1; -webkit-box-flex: 1; }
#birthday_ .contents_box_ .item_rose_ dl .img_ { display: block; line-height: 0; }
#birthday_ .contents_box_ .item_rose_ dl .comment_ { color: #401f1f; font-size: 10px; margin: 8px; }
/* ranking
------------------------------ */
.area_rank{margin: 8% 0 6%;position:relative;}
.rank_box dl dt {font-size: 36px;color: #fff;line-height: 42px;text-align: center;position: absolute;width: 28px;height: 28px;background: #cdcdcd;border-radius: 50%;text-align: center;top: 2px;left: 2px;z-index: 1;}
.rank_box dl dt span{font-family: "Times New Roman";line-height: 1;font-size: 26px;position: absolute;/* line-height: 36px; */top: 50%;left: 50%;transform: translate(-50%, -50%);color: #3c3c3c;}
.rank_box dl dd.item_img {font-size: 13px;color: #333;}
.rank_box dl dd.item_img img {    border-top: 4px solid #cebd6c;border-bottom: 4px solid #cebd6c;}
section#ranking {clear:both;overflow:hidden;}
.rank_box {display: block;width: 97%;overflow-x: auto;white-space: nowrap;overflow-scrolling: touch;-webkit-overflow-scrolling: touch;margin: 6% 0 6% 3%;}
.rank_box dl {width: 140px;margin: 0 1% 1em;display: inline-block;vertical-align: top;position:relative;}
.rank_box dl dd.item_name {font-weight: bold;color: #333333;padding-top: 5px;white-space: break-spaces;font-size: 88%;line-height: 1.2;display: -webkit-box!important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;}
.rank_box dl dd.price {color: #333333;font-size: 11px;font-family: 'M PLUS Rounded 1c', sans-serif;}
/* .rank_box dd.price { display: none;} */
.rank_box dl dt._gold {
    background: #b09669;
}
.rank_box dl dt._gold span{
    color:#401f1f;
}
.rank_box dl dt._silver {
    background: #9f9a93;
}
.rank_box dl dt._silver span{
    color:#401f1f;
}
.rank_box dl dt._bronze {
    background: #8d5e0d;
}
.rank_box dl dt._bronze span{
    color:#401f1f;
}

.rank_box dl dd div {
    font-size: 16px;
    color: #401f1f;
    line-height: unset;
    text-align: left;
    position: static;
    width: unset;
    height: unset;
    background: none;
    border-radius: unset;
    z-index: 1;
    margin-bottom: 0;
    top:0;
    left:0;
}

.rank_box dl dd div span{
    font-family: 'Noto Serif JP', serif;
    display: block;
    font-size: 16px;
}

.rank_box dl dd div._gold {background:none;position:relative;padding-left:1.45em;}
.rank_box dl div._gold::before {
    content: '';
    background: url(//img.e87.com/img/icon/icon_rank_no1.gif) no-repeat;
    width: 20px;
    height: 18px;
    background-size: 100%;
    position: absolute;
    left: 0;
    top: 0px;
}
.rank_box dl dd div._gold span{color:#401f1f;}
.rank_box dl dd div._silver {background:none;position:relative;padding-left:1.45em;}
.rank_box dl div._silver::before {
    content: '';
    background: url(//img.e87.com/img/icon/icon_rank_no2.gif) no-repeat;
    width: 20px;
    height: 18px;
    background-size: 100%;
    position: absolute;
    left: 0;
    top: 0px;
}
.rank_box dl dd div._silver span{color:#401f1f;}
.rank_box dl dd div._bronze {background:none;position:relative;padding-left:1.45em;}
.rank_box dl div._bronze::before {
    content: '';
    background: url(//img.e87.com/img/icon/icon_rank_no3.gif) no-repeat;
    width: 20px;
    height: 18px;
    background-size: 100%;
    position: absolute;
    left: 0;
    top: 0px;
}
.rank_box dl dd div._bronze span{color:#401f1f;}

.rank_box_other dl dd div span {
    font-family: 'Noto Serif JP', serif;
    display: block;
    font-size: 16px;
}

#birthday_ .accordion { margin-top: 10px; }
#birthday_ section.accordion ul li div.btn.open { border-top: #b0b0b0 1px solid; border-right: #b0b0b0 1px solid; border-left: #b0b0b0 1px solid; padding: 10px 10px 8px 15px; 
background: #ffffff; 
background: -moz-linear-gradient(top, #ffffff 1%, #f5f5f5 50%, #eaeaea 98%, #ffffff 100%); 
background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,#ffffff), color-stop(50%,#f5f5f5), color-stop(98%,#eaeaea), color-stop(100%,#ffffff)); 
background: -webkit-linear-gradient(top, #ffffff 1%,#f5f5f5 50%,#eaeaea 98%,#ffffff 100%); 
background: -o-linear-gradient(top, #ffffff 1%,#f5f5f5 50%,#eaeaea 98%,#ffffff 100%); 
background: -ms-linear-gradient(top, #ffffff 1%,#f5f5f5 50%,#eaeaea 98%,#ffffff 100%); 
background: linear-gradient(to bottom, #ffffff 1%,#f5f5f5 50%,#eaeaea 98%,#ffffff 100%); }
#birthday_ section.accordion ul li div.btn.open .btn_bg { color: #333; background: url(//img.e87.com/s/use/images//close.png) no-repeat right center; background-size: 25px 25px; -moz-background-size: 25px 25px; -webkit-background-size: 25px 25px; }
#birthday_ div.content { position: relative; border-right: none; border-left: none; padding: 0; overflow: hidden; border: #b0b0b0 1px solid; }
#birthday_ div.content ul { font-size: 14px; line-height: 1.357; margin: 13px 10px 15px 10px; }
#birthday_ div.content ul li { padding: 10px 0 10px 13px; border-top: #b0b0b0 1px solid; border-left: #b0b0b0 1px solid; border-right: #b0b0b0 1px solid; }
#birthday_ div.content ul li:first-child { border-top-left-radius: 5px; border-top-right-radius: 5px; -moz-border-top-left-radius: 5px; -moz-border-top-left-radius: 5px; -webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px; }
#birthday_ div.content ul li:last-child { border-bottom: #b0b0b0 1px solid; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; -moz-border-bottom-left-radius: 5px; -moz-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px; }
#birthday_ div.content ul li a { display: block; color: #333; text-decoration: none; background: url(//img.e87.com/s/use/images//arw_r_01.png) no-repeat 97% 0.3em; background-size: 8px 11px; -webkit-background-size: 8px 11px; -moz-background-size: 8px 21px; }
#birthday_ .contents_box_ .btn_all { margin-top: 20px; background: #f88e4e; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
#birthday_ .contents_box_ .btn_all a { display: block; color: #fff; font-size: 14px; font-weight: bold; text-align: center; text-decoration: none; padding: 12px 0; }




/*------------------------------------------------------
.sp_section4のスタイル
------------------------------------------------------*/

.sp_section4 { }


.sp_section4 li a { color: #705252 !important; text-decoration: none; display: block; }

/*
.sp_section4 li{ float: left; background: #fff url(../selection/condolence/images/icon.png) no-repeat; background-size: 8%; padding: 7px 15px 7px  28px; margin: 10px 13px 0 0px; border-radius: 5px; /* -webkit-border-radius: 5px; */
/*
-moz-border-radius: 5px; -ms-border-radius: 5px; border: #e5ddda 1px solid; background-position: 5px center; width: 31%; }*/

.sp_section4 li{ display: table-cell; width: 50%; border-radius: 2px; /* -webkit-border-radius: 2px; */
-moz-border-radius: 5px; -ms-border-radius: 5px; border: #e5ddda 1px solid; }
.sp_section4 li a{ background: #fff url(//img.e87.com/s/birthday/img/index/icon.png) no-repeat; background-position: 1% center; display: table-cell; background-size: 8%; padding: 5px 0 0 15%; height: 40px; width: 221px; }	


.sp_section4 ul{ overflow: hidden; margin: 7px 0 0 3px; display: table; border-collapse: separate !important; border-spacing: 5px 0 !important; width: 98%; }


.list_part01.main_style_two ul li { position: relative; }
.list_part01.main_style_two ul li div{ position: absolute; bottom: 0px; background: #fff; width: 100%;}



/*------------------------------------------------------
追加
------------------------------------------------------*/


/* .m_font {
    font-family: "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","游明朝", YuMincho, "HG明朝E",'Sawarabi Mincho', serif;
    transform: rotate(0.03deg);
    font-weight: bold;
} */
#mainArea { font-size: 13px; line-height:1.3; }
/* 
frame
----------------------------------- */

#contents { width:960px; margin:0 auto; }
h1,h2,h3,h4,h5,h6{ margin:0; padding:0; }
ul,dl { line-height:1.3; }
#contents .pagetop p { margin: 10px 0; float:right; }
#contents .allow { color: #ca417d; font-size: 85%; }
/* 
birth_nav
----------------------------------- */

section#birth_nav ul {display: flex;}
section#birth_nav ul li {
    width: 100%;
    background: #ba1462;
    height: auto;
    border-right: 1px solid #fff;
    text-align: center;
}
section#birth_nav ul li:last-child{border-right:none;}
section#birth_nav ul li a { display: block; color: #fff;padding: 5px 0.5%;}
section#birth_nav ul li a img {padding: 0 0 2px;vertical-align: bottom; width: auto; max-height: 18px;}
section#birth_nav ul li a:hover {text-decoration: none!important;}

/* 
birth
----------------------------------- */
ul.nav_month {width: 70%;display: flex;margin-top:6%;}
ul.nav_month li {width: 35%;height: 13px;background: #67c4de;padding:10px 0 15px;text-align: center;color: #fff;border-right: 1px solid #9be1f4;cursor: pointer;font-size: 120%;max-width: 120px;}
ul.nav_month li.active {
    background: #00abdb;
    position:relative;
}
li.active::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 8px solid transparent;
    border-top: 10px solid #00abdb;
    z-index: 1;
}

#item > div {display: none;}
#item > div.show {  display: block;  background: #e3f5fa;width: 100%;}
div.show h3 { font-family: 'Noto Serif JP', serif; width: 100%; text-align: center; font-size: min(3.8vw,20px); font-style: italic; color: #605e5f;padding: 15px 0 0;font-weight: bold;}
div.show h3 span { color: #ef3d90; font-style: italic; font-weight: bold;}
.box_flex { display: flex;}
div.show dl { width: 47%; margin: 1%;}
div.show dl dt{ padding: 5px 0 5px 3%;font-size: min(3.6vw,20px);}
div.show dl dt img {width: 100%;height: auto;}
div.show dl dt p img { max-width: 60px!important; margin: -18px 0 0; position: absolute;}
div.show dl dd:first-child { font-size: 100%;letter-spacing: -0.1em;}
div.show dl dd { padding: 0 1.5% 2px;}
div.show dl dd.price { color: #5f5d5e!important;}
section#birth a {
    color: #5f5d5e!important;
}
div.show dl dd.ex {
    background: #d03c81;
    width: 92%;
    margin: 5px 4%;
    text-align: center;
    padding: 5px 0 5px!important;
    color: #fff;
    border-radius: 3px;
    font-size: 110%;
}
div.show dl dd.btn {
    background: #00abdb;
    width: 92%;
    margin: 5px 2%;
    text-align: center;
    padding: 7px 0 7px!important;
    color: #fff;
    border-radius: 3px;
    font-size: min(3.6vw,18px);
}
div.show dl a:hover{text-decoration: none!important;}

/* .box_1 { margin: 20px 0.5%;} */
.box_1 div {      width: 35%;margin: 10px 1.5% 10px 6%; float: left;}
div.box_1 dl {width: 51%;float: left;padding: 8px 1% 0 0;}
.box_1 p {margin-top: -22px;max-width: 60px;}
div.box_1 dl dd.price {padding-bottom: 6px;font-size: min(3vw,16px);}

/* 商品4つ */
.box_flex.box_4 dl { width: 42%; margin: 0 auto;}
.box_flex.box_4 { padding: 0 3%;}


/* --------
	rank	
-------- */
#rank li p img {
    width: 40px;
}
#rank ul li {
    position: relative;
    width: 36%;
    padding: 0 1%;
    display: inline-block;
vertical-align: top;
}
#rank ul li:first-child {
    padding-left:15px;
}
#rank ul li:last-child {
    padding-right:15px;
}
#rank ul li p:first-child{text-align: center;}
#rank ul li p.item img { width: 100%; height: auto;}
#rank ul li span{ display: block; padding-top: 5px;font-size: 100%;    line-height: 1.4;}

section#ranking a {
    color: #5f5d5e!important;
}

#rank ul li p {
    width: 98%;
    white-space: normal;
}
/* --------
rankカーソル
-------- */
div#rank ul.carousel {
    overflow: hidden;
    margin: 0 auto;
    text-align: justify;
    text-justify: distribute-all-lines;
    width: 100vw;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    white-space: nowrap;
}
.carousel::-webkit-scrollbar {
    height: 7px;
}
.carousel::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: #8e8e8e;
}
.carousel::-webkit-scrollbar-track {
    border-radius: 5px;
    background: #eee;
}
.free_desc span {
    display: -webkit-box!important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 14px;
    text-align: left;
}


/* 誕生日PickUp
----------------------------------------------- */
h3.birthday{
    background: #f7f4f0;
    padding: 5px 10px;
    font-size: 18px;
    font-style: italic;
    margin-top: 20px;
color: #705252;
}
#birthdayPickUpSPArea { display:none; }
#birthdayPickUpArea { position:relative; }
#birthdayPickUpListSlideArea { width:860px !important; margin:0 auto; }
#birthdayPickUpListSlideArea .caroufredsel_wrapper { height:324px !important; }
#birthdayPickUpList li { border:#d9d9c2 1px solid; width:180px !important; height:300px; padding:11px; float:left; margin-right:10px; }
#birthdayPickUpList li p.img { line-height:0; margin-bottom:4px; }
#birthdayPickUpList li p.img img { width:180px; height:180px; }
#birthdayPickUpList li p.link { margin-bottom:6px; }
#birthdayPickUpList li p.link a { color:#ca417d; text-decoration:underline; font-size:93%; }
#birthdayPickUpList li p.link a:hover { text-decoration:none; }
#birthdayPickUpList li p.text { font-size:100%; line-height:1.5em; }
#birthdayPickUpPrevWrap { position:absolute; top:-1px; left:0; width:16px; z-index:1; }
#birthdayPickUpNextWrap { position:absolute; top:-1px; right:0; width:16px; z-index:1; }
#birthdayPickUpPrevBtn, #birthdayPickUpNextBtn { display:block !important; height:168px; background:url(https://img.e87.com/selection/images/mothersDayColumnPickUpSliderBtn_bg.gif) left center repeat-x; position:relative; text-align:center; padding-top:157px; -webkit-box-shadow: #d5c3c5 0px 0px 2px; -moz-box-shadow: #d5c3c5 0px 0px 2px; box-shadow: #d5c3c5 0px 0px 2px; border: solid 1px #FFF; border-radius: 3px; }
/* 贈り物に関するお役立ちコラム
----------------------------------------------- */
#usefulClmBlockList li { width:225px; float:left; height:90px; }
#usefulClmBlockList li a { display:block; }
#usefulClmBlockList li.pcL { padding:5px 5px 5px 0; border-bottom: 1px dotted #751038; }
#usefulClmBlockList li.pcM { padding:5px; border-left: 1px dotted #751038; border-bottom: 1px dotted #751038; }
#usefulClmBlockList li.pcR { padding:5px 0 5px 5px; border-left: 1px dotted #751038; border-bottom: 1px dotted #751038; }
#usefulClmBlockList li.pcBottom { border-bottom: none; }
#usefulClmBlockList li span { display:block; line-height:1.4em; }
#usefulClmBlockList li span.txt { color:#CA417D; font-size:77%; text-decoration:underline; padding-left:5px; float:left; width:140px; }
#usefulClmBlockList li span.txt:hover { text-decoration:none; }
#usefulClmBlockList li span.txt02 { color:#696851; font-size:77%; padding:5px 0 0 5px; float:left; width:140px; }
#usefulClmBlockList li span.img { float:left; line-height:1.0em; }
#usefulClmBlockList li span.img img { width:80px; height:80px; }
#usefulClmBlockList li span.continueDot { display:none; }
#usefulClmBlockList li span.nonDisplay { display:inline; }
#usefulClmBlockList li span br { display:none; }
#mothersDayBnr_l { clear:both; margin:10px 0; }
#mothersDayBnr_l_sp { display:none; }
.hiddenAreaWrap { display:none; }
.shadowBoxWrap.cf.pie {
    margin: 10px!important;
}

span.anchor {
    display: block;
    padding-top: 80px;
    margin-top: -80px;
}
.clearfix {
    clear: both;
    overflow: hidden;
}

/* animation
----------------------------------------------- */
.fadein {
  opacity : 0;
  transform : translate(0, 40px);
  transition : all 1s;
}
 
.fadein.active{
  opacity : 1;
  transform : translate(0, 0);
}
.fadein_r {
  opacity : 0;
  transform : translate(-90px, 0);
  transition : all 2s;
}
 
.fadein_r.active{
  opacity : 1;
  transform : translate(0, 0);
}
.fadein_l {
  opacity : 0;
  transform : translate(60px, 0);
  transition : all 1s;
}
 
.fadein_l.active{
  opacity : 1;
  transform : translate(0, 0);
}
/* @media screen and (min-width: 480px)
{
section#birth {
    padding-bottom: 35%;
    overflow: hidden;
}
}
@media screen and (min-width: 850px)
{
section#birth {
    padding-bottom: 45%;
    overflow: hidden;
}
} */



/* メインビジュアル
----------------------------------------------- */
.area_main_visual{
    text-align: center;
    background:#fac2d8;
    position:relative;
    border: none;
}
.area_main_visual img{
    border: none;
}
.area_main_visual span{
    font-family: 'Fleur De Leah',serif;
    position: absolute;
    bottom: -32px;
    left: 50%;
    transform: translateX(-50%);
    font-size: min(19vw,80px);
    color: #fff;
    display: block;
    width: 94%;
    text-align: center;
    line-height: 1;
}
.area_main_heading{
    background:#dc8aaa;
    padding-top: 42px;
    padding-bottom: 3%;
    border: none;
}
.area_main_heading_wrapper{
    margin:0 auto;
    padding: 0 3% 0;
    box-sizing: border-box;
}
.area_main_heading_wrapper h1{    
    font-size: min(4.8vw,19px);
    color: #432313;
        font-family: 'Noto Serif JP', serif;
    line-height: 1;
    font-weight: bold;
    text-align: center;
}
.area_main_heading_wrapper .area_main_lead{    
    margin-top:0.75em;
}
.area_main_heading_wrapper .area_main_lead p{    
    font-size:13px;
    color:#fff;
        font-family: 'Noto Serif JP', serif;
    line-height: 1.5;
}


/* h2
----------------------------------------------- */

.h2_outer {
    background: #eff0d5;
    padding: 4% 3% 3%;
    margin: 72px 0 3%;
    position: relative;
}
.h2_outer .heading_en{
    position: absolute;
    top: -55px;
    font-size: min(16vw,58px);
    font-family: 'Fleur De Leah',serif;
    color: #d1d2b7;
    line-height: 1.1;
    width: 95%;
}

.h2_outer .heading_en.font_top{
    font-size: 60px; top: -70px;}
.h2_outer .heading_en.font_bottom{
    font-size: 67px; top: -57px;}
.h2_outer h2{
    font-family: 'Noto Serif JP', serif;
    font-size: 24px;
    color: #6f4140;
    line-height: 1;
    letter-spacing: -1px;
    font-weight: 600;
}
.h2_outer .title_comment{
    font-family: 'Noto Serif JP', serif;
    padding-top: 6px;
    color: #bf4e79;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
}

/*　ランキング
----------------------------------------------- */
#rank{
    margin-top:5%;
}

#rank ul {
    overflow: hidden;
    margin: 0 auto;
    text-align: justify;
    text-justify: distribute-all-lines;
    width: 100vw;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    white-space: nowrap;
    max-width: 680px;
    padding: 8% 0% 7%;
}

/* ランキング */
#rank .item{
    border-top: 4px solid #cebd6c;
    border-bottom: 4px solid #cebd6c;
    position:relative;
}
#rank .item._01::before{
    content: '1';
    font-family: 'Fraunces', serif;
    font-size: 28px;
    color: #cebd6c;
    position: absolute;
    left: 2px;
    top: -32px;
    font-weight: bold;
}
#rank .item._02::before{
    content: '2';
    font-family: 'Fraunces', serif;
    font-size: 32px;
    color: #cebd6c;
    position: absolute;
    left: 2px;
    top: -36px;
    font-weight: bold;
}
#rank .item._03::before{
    content: '3';
    font-family: 'Fraunces', serif;
    font-size: 32px;
    color: #cebd6c;
    position: absolute;
    left: 2px;
    top: -36px;
    font-weight: bold;
}
#rank .item._04::before{
    content: '4';
    font-family: 'Fraunces', serif;
    font-size: 32px;
    color: #cebd6c;
    position: absolute;
    left: 2px;
    top: -36px;
    font-weight: bold;
}
#rank .item._05::before{
    content: '5';
    font-family: 'Fraunces', serif;
    font-size: 32px;
    color: #cebd6c;
    position: absolute;
    left: 2px;
    top: -36px;
    font-weight: bold;
}

/* 誕生日のお花を探す 価格　共通
----------------------------------------------- */
.btn_common .area_btn_list_wrap{
    margin:10px 0 3%;
}

.btn_common .btn_list{
    display: flex;
    justify-content: space-between;
    padding: 0 3%;
    flex-wrap:wrap;
}

.btn_common ._btn{
    width: 48%;
    margin-top: 3%;
    box-sizing: border-box;
    position: relative;
}


.btn_common ._btn a{
    display: block;
    padding: 14px 0 14px;
    border: 1px solid #ccc;
    border-radius: 8px;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: #2ab3da;
    line-height: 1;
    box-sizing: border-box;
    position: relative;
}

.btn_common ._btn a:hover{
    text-decoration: none;
}

/* --------
style	
-------- */
#style ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 3%;
}
#style ul li{margin: 3% 0;transition:0.3s;width: 48%;}
#style ul li a{    display: block;
    text-align: center;
    text-decoration: none;
}

#style li div {width: 100%;text-align: center;margin-top: 6px;}
#style li div span { font-size: 16px;font-weight: bold;color: #c43063;font-family: 'Noto Serif JP', serif;}
#style ul li img{border-radius: 50%;width: 80%;}

div#style ul li { float:left; width:300px; }

/* --------
オリジナルギフト
-------- */
section#original h3 {
    font-family: 'Noto Serif JP', serif;
    color: #fff;
    text-align: center;
    background: #67c4de;
    padding: 9px 0 5px;
    font-size: min(3.8vw,17px);
    margin-top: 20px;
    position: relative;
    height: 35px;
    margin: 0 auto 0;
    box-sizing: border-box;
    line-height: 1;
    top: 12px;
    width: 82%;
    font-weight: 700;
}
section#original h3:before, section#original h3:after {
    position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-color: #67c4de transparent;
    border-style: solid;
    content: '';
  }
  
  section#original h3:before {
    left: -9px;
    border-width: 17px 0px 18px 9px;
  }
  
  section#original h3:after {
    right: -9px;
    border-width: 17px 9px 18px 0px;
  }
section#original h3 span {color: #ba1462;font-size: 24px;font-style: italic;padding: 0 3px;font-weight: bold;}
.mask_ani {	width:480px;	height:330px;	overflow:hidden;	position:relative;}
.mask_ani .caption {font-size: 15px;color: #3e2727;padding: 10px 5px;font-style: italic;}
.mask_ani .mask {	width: 85%;height: 23%;position: absolute;top: 230px;left: 0;opacity: 0;background-color: rgba(255, 255, 255, 0.8);}
.mask_ani_r {	width:480px;	height:330px;	overflow:hidden;	position:relative;}
.mask_ani_r .caption {	font-size: 15px;color: #3e2727;padding: 10px;font-style: italic;}
.mask_ani_r .mask {	width: 85%;height: 23.5%;position: absolute;top: 20px;right: 0;opacity: 0;background-color: rgba(255, 255, 255, 0.8);}


#original .box_wrap{
    margin: 0 2% 3%;
    padding: 10% 20px 1%;
    background: #e3f5fa;
    border-radius: 10px;
    margin-top: -2%;
}
#original .box dl dd img {width: 100%;height: auto;}
#original .box dl {
    padding: 5% 0px;
    box-sizing: border-box;
}
#original .box:not(:first-child) {     margin-top: 3%;}
#original .box  .box_left a{ transition:0.3s}
#original p.icon_ {
    display: inline-block;
    padding: 0px 12px 0px;
    background: #c34d7b;
    color: #fff;
    border-radius: 20px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 4px;
    font-size: 96%;
}
#original .box dl dd { padding: 3% 0 0; line-height: 1.5;font-size: 106%;}
#original .box dl dd.other{text-align: right;}
#original .box dl dd.name { font-size:15px;padding: 3% 3% 1%;background: #fff; margin: 3% auto 0; width: 100%;color:#297d94;border-radius: 8px 8px 0 0;box-sizing: border-box;}
#original .box dl dd.name span{ transition:0.3s;    font-weight: bold;}
#original .box dl dd.price { background: #fff; padding: 0 12px 12px!important; width: 100%; margin: 0 auto;border-radius: 0 0 8px 8px;box-sizing: border-box;}
#original .box dl dt {color: #00abdb;font-size: 15px;font-weight: bold;padding: 0 0 4px 40px;border-bottom: 2px solid #00abdb;position:relative;line-height: 1.1;}
#original .box dl dt::before{
    content: '';
    background: url(https://img.e87.com/birthday/2023images/icon_box.png) center top no-repeat;
    width: 26px;
    height: 33px;
    background-size: 100%;
    position: absolute;
    bottom: 7px;
    left: 20px;
    transform: translateX(-50%);

}
#original p.link {
    margin: -26px 0 5px 715px;
    position: relative;
    text-align: center;
    font-size: 14px;
    /* background: #fdd3c5; */
    width: 242px;
    border-bottom: 3px #ce5f92 double;
}
#original .box .original_contents_left{
    position:relative;
    width: 66%;
}
#original .box .original_contents_right{
    margin-left: 2%;
    width: 32%;
}
#original .box a{
    display:flex;
    text-decoration: none;
    width: 100%;
}
#original .box .other a{
    display: inline-block;
    text-align: right;
    text-decoration: underline;
    color: #00abdb;
    width: unset;
}
#original .box a .original_contents_right p:first-child{
    margin-bottom:6.4%;
}

#original p.link a:hover{ text-decoration: none;}
#original p.link a{color: #ce5f92;}

/* --------
contents_common
-------- */
.contents_common .box dl dt img {width: 100%;height: auto;}
.contents_common .box dl dd {
    padding: 5px 0 0;
    color: #333;
    font-size: 13px;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.contents_common .box dl {
    width: 49%;
    padding: 4px;
    box-sizing: border-box;
    margin-top: 3%;
}
.contents_common .box dl a{text-decoration: none; transition:0.3s;}
.contents_common .box {display: flex;padding:0 4% 3%;flex-wrap: wrap;    justify-content: space-between;}
.contents_common .box dl dd.price {font-size: 12px;color:#333;}

/* バナーエリア
----------------------------------------------- */

.bnr_area{
    padding: 0 8%;
    margin: 15px 0 3%;
}

#original .bnr_area{padding: 0 1%;margin: 0 0 3%;}


/* バルーン
----------------------------------------------- */
#baroon .area_baroon_wrap{
    padding: 0 6%;
    margin: 3% 0;
    transition:0.3s;
}

#baroon ._baroon {
    display:flex;
    text-decoration: none;
    margin-top: 6%;
}

#baroon ._baroon a{
    display:flex;
    text-decoration: none;
}

#baroon ._baroon a .baroon_left{
    width:48%;
}

#baroon ._baroon a .baroon_right{
    width: 50%;
    margin-left: 3%;
}

#baroon ._baroon a .baroon_right dt{
    color: #00abdb;
    font-size: min(3.6vw,20px);
    border-bottom: 2px solid #00abdb;
    padding: 5px 0 10px;
    margin-bottom: 10px;
    font-weight: 600;
}

#baroon ._baroon a .baroon_right dd{
    color: #333;
}
#baroon ._baroon a .baroon_right dd.name {
    font-size: min(3.125vw,16px);
    padding-bottom: 4px;
}
#baroon ._baroon a .baroon_right dd.price {
    font-size: min(3vw,14px);
}
.price span {
    font-size: 100%!important;
}
/* rose
----------------------------------------------- */

#rose .area_rose_wrap{
    margin-bottom:3%;
}

#rose .area_rose_wrap ul {
    display: flex;
    flex-wrap: wrap;
    padding: 0 4%;
    justify-content: space-between;
}
#rose .area_rose_wrap ul li {
    margin: 3% 0 0;
    width: 31%;
}

#rose .area_rose_wrap ul li:last-child{
    margin-right: 0;
}

#rose .area_rose_wrap ul li a .m_font {
    color: #c43063;
    font-size: 13px;
    text-align: center;
    padding: 3px 0;
    line-height: 1.2;
    font-size: min(3.5vw,15px);
    font-family: 'Noto Serif JP', serif;
}

#rose .area_rose_wrap ul li a .m_font span{
    font-weight: bold;
}

/* #rose .area_rose_wrap ul li#m_yellow a .m_font span{
    padding-left: 1em;
    text-indent: -1em;
} */

/* 
lineup
-----------------------------*/
section.area_obsession{overflow: unset;}
.area_obsession .area_obsession_inner{
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    position: relative;
    width: 100%;
    margin: 6% auto 0;
    box-sizing: border-box;}
.area_obsession .area_obsession_inner h2{color: #e66784;font-size: 24px;text-align: center;margin-bottom: 12px;border-bottom: 1px solid #e66784;padding-bottom: 20px;font-weight: 700;}
.area_obsession .area_obsession_inner label._heading{color: #fff;
    font-size: 14px;
    position: relative;
    font-weight: 600;
    padding-left: 3%;
    padding-right: 8%;
    padding-bottom: 12px;
    margin: 0 3% 0;
    background: #67c4de;
    line-height: 1.2;
    padding: 2px 8% 5px 0px;
    display: block;
    color: #fff;
    padding-left: 2.5em;
    text-indent: -1.8em;
    height: 45px;
}

.area_obsession .area_obsession_inner .toggle {display: none;}
.area_obsession .area_obsession_inner ._heading::after{content: "";
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc( 50% - 5px );
    right: 14px;
    transform: rotate(135deg);}
.area_obsession .area_obsession_inner ._heading,
.area_obsession .area_obsession_inner .txt_wrap {-webkit-backface-visibility: hidden;backface-visibility: hidden;transform: translateZ(0);transition: all 0.3s;}
.area_obsession .area_obsession_inner .txt_wrap {height: 0;padding: 0 4%;overflow: hidden;margin-bottom:8px;}
.toggle:checked + ._heading + .txt_wrap {	/*開閉時*/height: auto;transition: all .3s;}
.toggle:checked + ._heading::after {transform: rotate(-45deg) !important;}

.area_obsession .area_obsession_inner p.obsession_txt{font-size: 13px;line-height: 1.4;margin-bottom: 18px;font-family: 'Noto Sans JP', sans-serif;font-weight: 400;color:#333;padding-left: 2em;text-indent: -2em;margin: 5px 0 3%;}
.area_obsession .area_obsession_inner p.obsession_txt._lead{margin-bottom: 24px;padding:0 8px 0;}
.area_obsession .area_obsession_inner p.ja_txt{width:74%;color: #487c0c;font-weight: 500;}
.area_obsession .area_obsession_inner p.ja_img{width:23%;margin: 0 auto;}
.area_obsession .area_obsession_inner p.ja_img img{width:100%;}
.area_obsession .area_obsession_inner .wrap_ja{display:flex;}

._question,._answer{font-size:18px;margin-right:6px;}
._answer{font-family: 'Noto Serif JP', serif;color:#67c4de;}

/*おすすめギフト特集*/
.etc_bnr a p{margin :15px 8%;}

/*コラム見出し*/
.column_heading{
    background: #fff;
    color: #e74f83;
    border-bottom: 3px double #e74f83;
    border-top: 3px double #e74f83;
    padding: 8px 0!important;
    text-align: center;
    font-size: 16px!important;
    font-weight: bold!important;
    margin: 30px auto 20px!important;
    line-height: 1.2;
    border-left: none;
    border-right: none;
    border-radius: 0;
}

/*ページトップ*/
.pagetop p{
    font-size:11px;
    text-align: right;
    margin: 3%;
}

/*ヘッダー*/
header#body_header p#body_header_h{
    border-bottom:unset;
    margin:8px 0 0;
}

.obsession_txt_wrap{
    position: absolute;
    top: calc( 50% - 2px );
    transform: translateY(-50%);
    width: 80%;
    font-weight: 600;
}

/* .obsession_txt_wrap._line2{
    position:relative;
    top: 7%;
} */

/* .area_main_visual span {
    animation: fadeIn 1s ease 1s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    20% {opacity: 0.2}
    40% {opacity: 0.4}
    60% {opacity: 0.6}
    80% {opacity: 0.8}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    20% {opacity: 0.2}
    40% {opacity: 0.4}
    60% {opacity: 0.6}
    80% {opacity: 0.8}
    100% {opacity: 1}
} */

/* SEO改修
----------------------------------------------- */
.area_main_heading_wrapper .area_main_catch{
    font-size: min(7vw,26px);
    color: #fff;
    line-height: 1;
    font-family: 'Noto Serif', serif;
    font-weight: bold;
    text-align: center;
    padding: 8px 0 16px;
    letter-spacing: -1px;
}

.area_main_heading_wrapper h1{
    font-size: min(4.2vw,17px);
}

.area_main_heading_wrapper .area_main_lead {
    margin-top: 0.5em;
}