@charset "UTF-8";

/* index—p
-------------------------------- */
/* •\Ž†  */
header#body_header p.lead_p{ color:#BB0A0D;text-align:center;font-size:15px!important;font-weight:bold;margin-bottom:0px!important;}
article#cover{ margin:0;padding:0;background:none;}
article#cover h1{ padding:0;background:none;text-align:center;}
article#cover h1 img{ vertical-align:bottom;width:100%;height:auto;background-size:450px 270px;-webkit-background-size:450px 270px;-moz-background-size:450px 270px;}
article#cover p.off{ margin:10px;}
article#cover .lead span{ font-weight:bold;}

/* 20230313 addition */
article#cover div.main_visual{position:relative;padding:0;background:none;text-align:center;}
article#cover div.main_visual img{ vertical-align:bottom;width:100%;height:auto;background-size:450px 270px;-webkit-background-size:450px 270px;-moz-background-size:450px 270px;}

/*---------------------------------
ƒXƒ^ƒCƒ‹ style
-----------------------------------*/
.wrap_btn_style_all{display: block;transition: 0.2s;}
.search_style{margin-top:4%;}
.search_style .search_style_list{display:flex;flex-wrap:wrap;justify-content: space-between;padding: 0 2%;margin: 0 0 1em;}
.search_style .search_style_list .search_style_contents .wrap_heading{display: block;font-weight: bold;margin: 0 auto;position:relative;font-size: min(4vw,15px);border-radius: 10px;}
.search_style .search_style_list .search_style_contents .wrap_heading::after{ content: "";position: absolute;margin: auto;top: 0;bottom: 0;right: 4px;width: 4px;height: 4px;border-top: 2px solid #fff;border-right: 2px solid #fff;transform: rotate(45deg);transition: 0.2s;}
.search_style .search_style_list .search_style_contents .wrap_heading a{color:#D94F69;display: block;padding: 4% 0;text-align: center;line-height: 1.3;font-size: min(3vw, 15px);}
.search_style .search_style_list .search_style_contents .hide_child li a{color: #2f2f2e;display:block;padding:6% 0;border-bottom: 1px dotted;position:relative;font-size: min(3vw, 13px);height:3.5em;position:relative;}
.search_style .search_style_list .search_style_contents .hide_child li a span{ position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);width: 92%;text-align: center;}
/* .search_style .search_style_list .search_style_contents .hide_child li a::after{content:'';position: absolute;top: 50%;transform: translateY(-50%);right: 0;display: inline-block;width: 4px;height: 6px;content: '';background-image: url(/corp/img/icon/caret-right.png);background-size: 100%;background-repeat: no-repeat;} */
.search_style .search_style_list .search_style_contents .hide_child li{width: 85%;font-size: 14px;text-align: left;margin: 0 auto;}
.search_style .search_style_list .search_style_contents{width: 49%;justify-content: space-between;align-items: flex-start;margin:0;box-sizing: border-box;margin:0 0 0.5em;}
.search_style .search_style_list .search_style_contents .wrap_heading::before{right: 3%;box-sizing: border-box;border: 4px solid transparent;border-left: 6px solid #e66784;}
/* .search_style .search_style_list .search_style_contents .hide_child li a::after {content: '';position: absolute;top: 50%;transform: translateY(-50%);right: 0;display: inline-block;width: 4px;height: 6px;background-image: url(/corp/img/icon/caret-right.png);background-size: 100%;background-repeat: no-repeat;} */
.search_style .search_style_list .search_style_contents .wrap_heading ._img{width: 74%;margin: 0 auto 1em;}
.search_style .search_style_list .search_style_contents .wrap_heading .style_heading{font-size: min(3.6vw, 17px);position:relative;display: block;font-weight: bold;color:#333;}
.search_style .search_style_list .search_style_contents .wrap_heading .style_heading::after {content: "";position: absolute;margin: auto;top: 0;bottom: 0;right: 0;width: 4px;height: 4px;border-top: 1px solid #2f2f2e;border-right: 1px solid #2f2f2e;transform: rotate(45deg);transition: 0.2s;}
.search_style .search_style_list._top .search_style_contents .wrap_heading .style_heading::after {content: "";position: absolute;margin: auto;top: 0;bottom: 0;right: 2em;width: 4px;height: 4px;border-top: 1px solid #2f2f2e;border-right: 1px solid #2f2f2e;transform: rotate(45deg);transition: 0.2s;}
.search_style .search_style_list .search_style_contents .adjust_fs{font-size: min(3.8vw, 16px);font-weight: bold;color:#333;}

.search_style .search_style_list._multi3 .search_style_contents span{width:100%;}
.search_style .search_style_list._multi3{display: flex;flex-wrap:wrap;padding:0 3%;margin-top:6%;}
.search_style .search_style_list._multi4{justify-content: unset;}
.search_style .search_style_list._multi4 .search_style_contents{width: 25%;}
.search_style .search_style_list._multi3 .search_style_contents{width:32%;}
.search_style .search_style_list._multi3 .search_style_contents .wrap_heading ._img{width:92%;}

/*---------------------------------
ƒiƒrƒQ[ƒVƒ‡ƒ“
-----------------------------------*/
.navi_mother a {width: 28%;}
.area_local_navi{padding:0 2%;}
.area_local_navi ul{display:flex;justify-content: space-evenly;margin: 12px 0;}
.area_local_navi ul li{font-size: min(3.6vw,14px);width: 49%;border: 1px solid #e85174;position: relative;margin-right: 2%;}
.area_local_navi ul li:last-child{margin-right: 0;}
.area_local_navi ul li a::after {content: "";position: absolute;bottom: 4px;right: 4px;width: 0;height: 0;border-style: solid;border-width: 0 0 11px 12px;border-color: transparent transparent #ffa4b9 transparent;transition:0.2s;}
.area_local_navi ul li a{color:#e85174;padding: 8% 0;display: block;text-align: center;font-weight: 600;transition:0.2s;}

/* ----------------------------------------------------------- 
#card
----------------------------------------------------------- */
.point_img{margin-top:2em;}
.point_outer{padding:0 4%;}
.point_outer .h2_ttl_point {transform: rotate( 0.03deg);color: #D94F69;border-top: 1px solid #D94F69;border-bottom: 1px solid #D94F69;text-align: center;padding: 8px 0 6px;font-size: 15px;font-weight: bold;margin: 0 3% 20px;}
.point_outer dt{font-weight: bold;font-size:14px;margin-top:8%;border-bottom: 1px solid;}
.point_outer dd{font-size: min(4.1vw, 16px);margin-top: 1em;}
.point_outer dd a{text-decoration: underline;color:#57a4d3;}
.point_outer .point_icon{display:inline;}
.point_outer .point_img2{margin: 4% 0;}

/* ----------------------------------------------------------- 
#card
----------------------------------------------------------- */
#post_card{margin:20px 0;}
#post_card h3.h3_ttl { transform: rotate( 0.03deg);color:#D94F69;border-top: 1px solid #D94F69;border-bottom: 1px solid #D94F69;text-align: center;padding: 8px 0 6px;font-size: 15px;font-weight: bold;margin: 0 3% 20px;}
div#agedday_card { margin-top: 2em;}
.agedday_card_box{padding: 0 4%;}
.agedday_card_img {padding: 0 8%;position: relative;}
.agedday_card_img span{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%) rotate(10deg);font-size: min(13vw, 72px);font-weight: bold;opacity: 0.8;color: #fff;}
.agedday_card_img img { width: 100%; height: auto;}
.agedday_card_txt {margin-top: 6%; transform: rotate( 0.03deg);}
.agedday_card_txt dt { /* background: #D94F69; */color: #D94F69;font-size: min(4.3vw, 15px);font-weight: bold;padding: 1%;display: block;text-align: center;border-bottom: 1px solid #D94F69;}
.card_txt_small {font-size: 13px;}
.agedday_card_txt dd {margin: 1em 0;font-size: min(4.1vw, 16px);line-height: 1.4;}
.agedday_card_txt dd a {text-decoration: underline; font-size: min(4.3vw,15px);font-weight: bold;display:inline-block;margin: 3% 0 2%;transition: 0.2s;}
.agedday_card_txt .card_item a {font-size: 16px;font-weight: bold;color: #D94F69;margin-top: 4px;display: inline-block;transition:0.2s;}

/* ƒOƒ[ƒoƒ‹ƒiƒr */
nav#global_nav{ margin-top:20px;}

article#item section.accordion ul li.purpose ul{ display:table;border:#ccc 1px solid;border-bottom:none;width:100%;}
article#item section.accordion ul li.purpose ul li{display:table-cell;border-left:#ccc 1px solid;padding:5px 0 6px 6px;width:50%;background:url(//img.e87.com/s/common/images/arw_r_03.png) no-repeat 96.5% 50%;background-size:8px 12px;-webkit-background-size:8px 12px;-moz-background-size:8px 12px;vertical-align:middle;}
article#item section.accordion ul li.purpose ul li a:link, article#item section.accordion ul li.purpose ul li a:visited, article#item section.accordion ul li.purpose ul li a:hover, article#item section.accordion ul li.purpose ul li a:active{ color:#000;text-decoration:none;}

/*  ƒAƒ“ƒJ[  */
#ranking_a,#faq_a{padding-top:70px;margin-top:-70px;}
#style_a,#etc_a,#kakaku_a,#relationship_a,#age_a,#special_a,#flowertype_a{padding-top: 60px;margin-top: -90px;}

/* --------------------------------------
g?fm?? main_column
------------------------------------------- */
.area_column .area_column_txt{background: #f9f9f9;padding:4%;}
.area_column .column_txt{font-size: min(4.1vw, 16px);line-height: 1.8;margin: 4% 0;}
.area_column h3._heading{margin: 2em 4% 5%;}

/* --------------------------------------
‘——¿–³—¿¤•i“™ gen_bnr_box
------------------------------------------- */
.gen_bnr_box.souryou_bg .gen_bnr_txt::before{max-width:65px;}
.gen_bnr_box.specify_bg .gen_bnr_txt::before {max-width: 45px;max-height: 35px;}
.gen_bnr_box.pair_bg .gen_bnr_txt::before {max-width: 55px;max-height: 38px;}

/* --------------------------------------
ƒCƒ“ƒtƒH info
------------------------------------------- */
#info .info_wrap{border: 1px solid #d5305f;padding: 0% 3%;margin: 1.5em 3%;display: block;}
#info .info_wrap .info_icon{font-weight: bold;display: inline-block;padding: 2px 0 0px;width: 100%;text-align: center;font-size: 18px;color: #d5305f;border-bottom: 1px solid #d5305f;}
#info .info_wrap .info_txt{display: inline-block;font-size: min(3.5vw, 15px);margin: 2% 0;}
#info .info_wrap .info_txt a{text-decoration: underline;font-weight: bold;}

/* --------------------------------------
ƒAƒ“ƒP[ƒg questionnaire
------------------------------------------- */
#questionnaire .questionnaire_info{font-size:11px;line-height: 1.6;color:#2f2f2e;margin-bottom: 2em;padding:0 4%;text-align: right;}
#questionnaire .area_questionnaire_contents{padding-bottom: 48px;margin-bottom: 24px;border-bottom: 2px dotted;padding: 0 0 8%;margin: 0 4% 8%;}
#questionnaire #Q4.area_questionnaire_contents{border-bottom:none;margin-bottom:0;padding-bottom:3%;}
#questionnaire .area_question .wrap_question{display:flex;align-items: unset;margin-bottom:1em;}
#questionnaire .area_question p{font-size: min(4.5vw, 16px);font-weight: bold;margin-bottom:1em;}
#questionnaire .area_answer table{width:100%;}
#questionnaire .area_answer table tr{display:flex;padding: 2px;}
#questionnaire .area_answer table th{width: 20%;}
#questionnaire .area_answer table td{width:83%;}
#questionnaire .area_answer table th,#questionnaire .area_answer table td{font-size: min(4.2vw, 16px);display: flex;}
#questionnaire  span._icon{font-size: 20px;display: inline-block;width: 30px;height: 30px;border-radius: 50%;color: #fff;line-height: 32px;text-align: center;margin-right: 0.5em;position:relative;}
#questionnaire  span._icon span.icon_adjust{ position: absolute;top: 50%;left: 51%;transform: translate(-50%, -50%);}
#questionnaire .icon_question{background: #e77193;}
#questionnaire .icon_answer{background: #5c7fac;}
#questionnaire .area_answer .area_answer_left{display:flex;margin-bottom: 1em;}
#questionnaire .area_answer ._img{width: 30px;max-width: 82px;}
#questionnaire .area_answer ._txt{font-size: 15px;background: #fff6ef;padding: 8px;border-radius: 11px;line-height: 1.5;width:80%;margin-left: 0.5em;}
#questionnaire .questionnaire_right_wrap{display:flex;justify-content: left;}
#questionnaire .area_btn {text-align: center;margin-top: 24px;color:#fff;margin-top: 4%;}
#questionnaire .area_btn p.btn_text span{color:#fff;}
#questionnaire .area_btn p.btn_text span::after{content:unset;}

/* --------------------------------------
“ÁW special
------------------------------------------- */
.con_bnr {padding: 0 4%;}
#special .wrap_mother_h2_txt{color: #d5305f;background: #fff;border: 1px solid rgba(213, 48, 95, 0.65);}
#special .mother_h2_txt{color: #d5305f;background: #fff;border: 1px solid rgba(213, 48, 95, 0.65);}

/* --------------------------------------
Œ©o‚µ heading2
------------------------------------------- */
.area_heading_text{margin:0 12%!important;}

/* column
------------------------------ */
h3.column_h3{font-size: 16px;border-left: 4px solid #D94F69;padding-left: 0.5em;margin: 1em 0;font-weight: bold;}
.one-link-content:last-child{margin-bottom:1em;}
article#body > section#delivery{padding-top:0!important;margin-top:2em!important;}

/*---------------------------------
?????? area card
-----------------------------------*/
.area_card ul{display:flex;justify-content: center;margin-bottom:3%;padding: 0 2%;}
.area_card ul li{width: 32%;margin:0 1.5% 1%;border:1px solid #D94F6947;}
.area_card ul li img{width:100%;}

.price_box{ width: 45%; margin: 1%; }
.price_txt{    font-size: min(4.2vw, 16px);}

.search_style .search_style_list .search_style_contents .hide_child{display: flex;flex-wrap:wrap;}
.search_style .search_style_list .search_style_contents .hide_child li{width:46%;}

/* ========================================
0413 addition
======================================== */
.icon_new{position: absolute;padding: 1% 2%;background: red;color: #fff;font-weight: bold;right:0;top:0;}
.style_md li{margin:0 2%;width:35%;}
.heading_styles {font-size: min(4.3vw, 17px);text-align: center;}

/* ========================================
ギフトに役立つ関連サイト用 CSS
======================================== */
.h2_connection {display: flex; align-items: center; justify-content: center; text-align: center; font-size: 15px; font-weight: bold; color: #333; margin: 30px 0 15px; width: 100%;}
.h2_connection::before, .h2_connection::after {content: ""; width: 35px; height: 1px; background-color: #333;}
.h2_connection::before {margin-right: 10px;}
.h2_connection::after {margin-left: 10px;}
.article_list {margin: 0 10px;}
.article_item {margin-bottom: 20px; padding: 3%; border: 1px solid #e5ddda; border-radius: 8px; background-color: #ffffff;}
.article_item .article_thumb {margin: 0 0 10px 0; text-align: center;}
.article_item .article_thumb img {width: 100%; height: auto; vertical-align: bottom; border-radius: 4px;}
.article_title {font-size: 14px; line-height: 1.4; font-weight: bold; color: #333;}
.article_link {display: block; text-decoration: none; transition: 0.2s; color: inherit;}
.article_link:active {opacity: 0.7;}
.article_lead {margin: 0 8px 0 0; font-size: 13px; line-height: 1.6; color: #333333;}
.article_title::after {content: ""; display: inline-block; width: 13px; height: 13px; margin-left: 5px; background: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23333"%3E%3Cpath d="M14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7zm-2 16H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7z"/%3E%3C/svg%3E') no-repeat center center; background-size: contain; vertical-align: -1px;}

.price_inner{min-height: 80px;}
.price_txt{position: absolute;top: 50%;transform: translateY(-50%);}

#pre .area_btn p.btn_text span.txt_adjust{font-size: min(3.6vw, 18px);}

.style_md{display: flex;justify-content: center;}
.style_md .style_heading{font-size: min(3.6vw, 17px);position: relative;display: block;font-weight: bold;color: #333;text-align: center;}
.style_md .style_heading::after{content: "";position: absolute;margin: auto;top: 0;bottom: 0;right: 0;width: 4px;height: 4px;border-top: 1px solid #2f2f2e;border-right: 1px solid #2f2f2e;transform: rotate(45deg);transition: 0.2s;}

.is-soldout .item_img3 {position: relative;}
.is-soldout .item_img3::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5);z-index: 2;pointer-events: none;}
.is-soldout .item_img3::after {content: "SOLD OUT";position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);color: #ffffff;font-size: 18px; /* スマホ向けサイズ */font-weight: bold;letter-spacing: 0.1em;white-space: nowrap;z-index: 2;pointer-events: none;}
.is-soldout .specialprice {position: relative;z-index: 4;}
.area_senko_off{padding: 1.5% 3% 1.25%;}
.area_senko_off h1{font-size:16px;line-height: 1;color:#fff;text-align: center;font-weight: bold;}
article.navi{margin-top:5%;}

/* --------------------------------------
インフォ info
------------------------------------------- */
#info .info_wrap {border: unset;margin: 1em 1%;}
#info .info_wrap .info_icon {font-weight: bold;display: inline-block;padding: 2px 0 0px;width: 100%;text-align: center;font-size: 18px;color: #d5305f;border-bottom: 1px solid #d5305f;}
#info .info_wrap .info_txt {display: inline-block;font-size: min(3.5vw, 15px);margin: 2% 0 1%;color:#d94f69;}

.wrap_main_heading{margin-bottom:3%;}
#info .info_wrap{margin:0;}
h2._heading._rank span::before{content:unset;}
.navi_local_txt{width:100%;}
h2._heading{ padding-top: 80px;margin-top: -80px;}
.main_contents{margin:12% 0 0;}
#new h2._heading._new span::before{content:unset;}
h2._heading span::before{content:unset;}

/* SP用タブ切り替えデザイン */
.rank_tab_sp { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-bottom: 3%; padding: 0 2%; }
.rank_tab_sp li { display: flex; padding: 4px 8px; justify-content: center; align-items: center; background: #fff; border: 1px solid #D94F69; cursor: pointer; font-weight: bold; color: #D94F69; font-size: 13px; list-style: none; transition: 0.2s; text-align: center; width: 25%; height: 2.5em; line-height: 1.2; }
.rank_tab_sp li.active { background: #E15242; color: #fff; }
.tab_content_sp { display: none; }
.tab_content_sp.active { display: block; }
/* 既存のランクボックスのレイアウト調整（各カテゴリ用） */
.tab_content_sp .rank_box dl { margin-bottom: 20px; }
.is-soldout .item_img3 {position: relative;}
.is-soldout .item_img3::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5);z-index: 2;pointer-events: none;}
.is-soldout .item_img3::after {content: "SOLD OUT";position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);color: #ffffff;font-size: 18px; /* スマホ向けサイズ */font-weight: bold;letter-spacing: 0.1em;white-space: nowrap;z-index: 2;pointer-events: none;}
.is-soldout .item_img {position: relative;}
.is-soldout .item_img::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5);z-index: 2;pointer-events: none;}
.is-soldout .item_img::after {content: "SOLD OUT";position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);color: #ffffff;font-size: 18px; /* スマホ向けサイズ */font-weight: bold;letter-spacing: 0.1em;white-space: nowrap;z-index: 2;pointer-events: none;}
.is-soldout .specialprice {position: relative;z-index: 4;}
.rank_box dl div.soldout-wrap { position: relative; display: inline-block; /* もし画像が崩れる場合は block に変えてみてください */ width: 100%; }
.soldout-wrap::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 2; pointer-events: none; }
.soldout-wrap::after { content: "SOLD OUT"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); color: #ffffff; font-size: 16px; font-weight: bold; letter-spacing: 0.1em; white-space: nowrap; z-index: 3; pointer-events: none; font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
#egift .common_txt{margin:0.75em;}

/*---------------------------------
‰êŽõ‚Ì•\ gaju
-----------------------------------*/
#gaju .style_list_box dl dd.item_name{text-align: center;}
.area_gaju_inner{padding: 2.5em 3em 0em;background:#FFFFF4;border:1px solid #FD827A;margin-bottom:32px;}

/*---------------------------------
賀寿の表 gaju
-----------------------------------*/
#gaju h4 { font-size: min(4.3vw, 18px); text-align: center;}
#gaju .style_list_box dl dd.item_name { text-align: center; }
.area_gaju_inner { padding: 4% 2%; background: #FFFFF4; border: 1px solid #FD827A; margin-bottom: 32px; margin: 0 2% 1em; }

/* ▼ 丸リスト全体のラップ ▼ */
.area_gaju_inner ul { display: flex; justify-content: center; flex-wrap: wrap; }

/* ▼ 共通の丸型コンテナ (aタグのレイアウト属性をliに集約) ▼ */
.area_gaju_inner ul li { border-radius: 50%; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; font-weight: bold; position: relative; background: #fff; line-height: 1.2; font-size: min(5.2vw, 22px); }

/* ========================================
上段のリスト (還暦〜白寿 4項目)
======================================== */
.area_gaju_inner ul.top_list { gap: 2%; margin: 1em 0; }
.area_gaju_inner ul.top_list li { width: 23%; aspect-ratio: 1 / 1; border: 1px solid transparent; }

/* --- 上段の各色設定 (color指定をliに直接適用) --- */
.area_gaju_inner ul.top_list li.ka { background: #FFDDDD; color: #D60000; transition: 0.2s; }
.area_gaju_inner ul.top_list li.ki { background: #ECDDFF; color: #5A1488; transition: 0.2s; }
.area_gaju_inner ul.top_list li.be { background: #FFF0C7; color: #A38111; transition: 0.2s; }
.area_gaju_inner ul.top_list li.ha { background: #E8F0F0; color: #656565; transition: 0.2s; }

/* ========================================
下段のリスト (縁寿〜皇寿 8項目)
======================================== */
.area_gaju_inner ul.bottom_list { gap: 2%;}
.area_gaju_inner ul.bottom_list li { width: 20%; aspect-ratio: 1 / 1; font-size: min(5vw, 21px); border: 2px solid #656565; color: #656565; margin: 1%; }

/* ========================================
テキスト（ふりがな・年齢）の装飾
======================================== */
.area_gaju_inner ul li span.adjust_furi { font-size: min(3vw, 15px); display: block; text-align: center; color: #656565; line-height: 1.2; font-weight: bold; }
.area_gaju_inner ul li span.adjust_age { font-size: min(3vw, 15px); display: block; text-align: center; color: #656565; line-height: 1.2; font-weight: bold; }

/* 特定の色のテキスト上書き (top_list用) */
.area_gaju_inner ul li.ka span.adjust_age, .area_gaju_inner ul li.ka span.adjust_furi { color: #ed301d; }
.area_gaju_inner ul li.ki span.adjust_age, .area_gaju_inner ul li.ki span.adjust_furi { color: #5A1488; }
.area_gaju_inner ul li.be span.adjust_age, .area_gaju_inner ul li.be span.adjust_furi { color: #A38111; }
.area_gaju_inner ul li.ha span.adjust_age, .area_gaju_inner ul li.ha span.adjust_furi { color: #656565; }

/* ========================================
その他装飾
======================================== */
.area_gaju_inner .common_txt { text-align: left; margin: 5% 2% 0%; }
.area_gaju_annotation { text-align: right; font-size:12px; }

/* ==================================================
賀寿スタイルリスト（SP用レイアウト）
================================================== */
#gaju .style_list_box { overflow-x: auto; overflow-y: hidden; display: flex; flex-wrap: nowrap; margin: 0; width: 100%; padding: 4%; box-sizing: border-box; -webkit-overflow-scrolling: touch; }
#gaju .style_list_box::-webkit-scrollbar { display: none; }
#gaju .style_list_box dl { width: 60%; flex: 0 0 60%; padding: 0; margin: 0 4% 0 0; max-width: 250px; }
#gaju .style_list_box dl:last-child { margin-right: 0; }
#gaju .style_list_box dl > a { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.style_list_box .item_img { position: relative; margin: 0; width: 100%; }
#gaju .style_list_box .item_img img { width: 100%; height: auto; vertical-align: bottom; }
#gaju .common_bnr._styles h3{text-align: left;left: 20%;}

/* 2. 賀寿バッジ */
#gaju .style_list_box .gaju_badge { position: absolute; bottom: 0; left: 50%; transform: translate(-50%, 50%); z-index: 2; display: flex; justify-content: center; align-items: center; width: 35%; max-width: 50px; aspect-ratio: 1 / 1; border-radius: 50%; font-size: 13px; font-weight: bold; line-height: 1; letter-spacing: 0.05em; box-shadow: 0 2px 5px rgba(0,0,0,0.15); }

/* 3. 賀寿ごとのテーマカラースタイル */
#gaju .style_list_box .badge_red { background-color: #FFDDDD; color: #D60000; }
#gaju .style_list_box .badge_green { background-color: #F2FFDD; color: #16742B; }
#gaju .style_list_box .badge_purple { background-color: #ECDDFF; color: #5A1488; }
#gaju .style_list_box .badge_yellow { background-color: #FFF0C7; color: #A38111; }
#gaju .style_list_box .badge_white { background-color: #E8F0F0; color: #656565; }

/* 画像下のテキスト囲み枠 */
#gaju .style_list_box .item_text_wrap { padding: 28px 8px 12px; background: #ffffff; box-sizing: border-box; margin: 0; flex-grow: 1; display: flex; flex-direction: column; }
#gaju .style_list_box .item_text_wrap p { line-height: 1.8; }
#gaju .style_list_box .item_name { text-align: center; font-weight: bold; color: #333333; padding-top: 8px; white-space: break-spaces; font-size: min(4vw, 14px); line-height: 1.4; display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
#gaju .style_list_box .item_catch { display: block; font-size: min(4vw, 16px); color: #333333; margin-top: 4%; white-space: break-spaces; overflow: hidden; padding: 3%; }
#gaju .style_list_box dl._red .item_catch { background: #fff6f6; }
#gaju .style_list_box dl._green .item_catch { background: #f6ffe8; }
#gaju .style_list_box dl._purple .item_catch { background: #f8f3ff; }
#gaju .style_list_box dl._yellow .item_catch { background: #fffbf0; }
#gaju .style_list_box dl._white .item_catch { background: #f0f8f8; }
#gaju .style_list_box .item_text_wrap .price { text-align: center; font-size: min(4vw, 16px); margin-top: 4%; }

/* 賀寿ごとのテキスト囲み枠カラー */
#gaju .style_list_box dl._red .item_text_wrap { border: 2px solid #FFDDDD; }
#gaju .style_list_box dl._green .item_text_wrap { border: 2px solid #F2FFDD; }
#gaju .style_list_box dl._purple .item_text_wrap { border: 2px solid #ECDDFF; }
#gaju .style_list_box dl._yellow .item_text_wrap { border: 2px solid #FFF0C7; }
#gaju .style_list_box dl._white .item_text_wrap { border: 2px solid #E8F0F0; }

.bnr_area{padding:0 4%;margin-top: 1em;}

/* キャッチコピーの左右に「＼」「／」を追加 */
/* キャッチコピー全体をFlexboxにして、記号を左右の枠として機能させる */
.bnr_catch { display: flex; justify-content: center; /* 左右の中央揃え */ align-items: center; /* 上下の中央揃え（改行されても記号は真ん中にきます） */ text-align: center; /* テキスト自体を中央揃えに */ color: #A18558; font-size: min(4.1vw, 16px); font-weight: bold; }
.bnr_catch::before { content: "＼"; flex-shrink: 0; /* スマホ画面が狭くても記号が潰れないようにする */ margin-right: 4px; }
.bnr_catch::after { content: "／"; flex-shrink: 0; /* スマホ画面が狭くても記号が潰れないようにする */ margin-left: 4px; }

.wrap_txt{padding: 3% 3% 0;margin: 3% 0 0;}
.wrap_txt ._txt {border-top: 1px dotted #d9d9d9;padding: 3% 0px;margin-top: 3%;}
.wrap_txt ._txt p._lead{font-size: 14px;/* padding-top: 8px; */line-height: 1.5;}
.wrap_txt ._txt p._anno{padding: 0;margin: 0;font-size: 12px;line-height: 1.5;}
.wrap_txt ._txt p._lead span._add{color:#E15242;font-size:15px;font-weight: bold;}
.wrap_txt h3{font-size: 15px;border-left: 6px solid #E15242;padding-left: 8px;color: #333;margin: 8px 0;font-weight: bold;}
.wrap_txt h3 p{display:inline-block;margin-right:3px;}
.wrap_txt h3 p img{width:69px;vertical-align: sub;margin-right:3px;}

#Catch .area_catch span{position:relative;display: inline-block; font-weight: bold; color: #333; padding: 0 32px; position: relative; letter-spacing: 0.05em; margin-bottom:1em; }
.area_catch span::before, .area_catch span::after { content: ''; position: absolute; top: 50%; transform: translateY(-50%); width: 16px; height: 1px; background-color: #E5988F; }
.area_catch span::before { left: 0; }
.area_catch span::after { right: 0; }

/* ▼ テキストのかたまりを枠として設定 ▼ */
.sw_deco { display: inline-block; /* 親のtext-align:centerを保ちつつブロック化 */ position: relative; padding: 0 1.5em; /* 左右に記号を入れるための隙間（余白）を確保 */ line-height: 1.5; /* 2行になったときの行間調整 */ }

/* ▼ 左右の記号を上下中央に固定する共通設定 ▼ */
.sw_deco::before, .sw_deco::after { position: absolute; top: 50%; transform: translateY(-50%); /* 高さが変わっても常に「縦のど真ん中」に配置 */ /* color: #ed301d; */ /* ←記号の色を変えたい場合はここを有効にしてください */ }

/* ▼ 左側の記号 ▼ */
.sw_deco::before { content: "＼"; left: 0; /* 左端に配置 */ }

/* ▼ 右側の記号 ▼ */
.sw_deco::after { content: "／"; right: 0; /* 右端に配置 */ }

.adjust_color{color:#FD827A;font-weight: bold;}

.wrap_early{ text-align: center; margin:0 0 9%;}

.is-soldout .item_img3 {position: relative;}
.is-soldout .item_img3::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5);z-index: 2;pointer-events: none;}
.is-soldout .item_img3::after {content: "SOLD OUT";position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);color: #ffffff;font-size: 18px; /* スマホ向けサイズ */font-weight: bold;letter-spacing: 0.1em;white-space: nowrap;z-index: 2;pointer-events: none;}
.is-soldout .item_img {position: relative;}
.is-soldout .item_img::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5);z-index: 2;pointer-events: none;}
.is-soldout .item_img::after {content: "SOLD OUT";position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);color: #ffffff;font-size: 18px; /* スマホ向けサイズ */font-weight: bold;letter-spacing: 0.1em;white-space: nowrap;z-index: 2;pointer-events: none;}
.is-soldout .specialprice {position: relative;z-index: 4;}
article.navi{margin-top:5%;}

.swiper-button-next:after, .swiper-button-prev:after{color: #F05A4A !important;}
.swiper-pagination-bullet-active{background: #F05A4A !important;}

/* ==================================================
#reason セクション（スマホ用完全版CSS）
================================================== */

/* --------------------------------------
1. セクション全体の基本設定
--------------------------------------- */
#reason { padding: 0 2%; box-sizing: border-box; margin-top:0; }
#reason h4 { margin: 1em 0; line-height: 1.5; }
#reason .common_btn { margin-bottom: 0; }
#reason .area_column_style_heading_wrap{margin-top:4%;}
#reason .item_img

/* --------------------------------------
2. Q&A アコーディオンヘッダー（赤ボックス）
--------------------------------------- */
.reason_feature_area { padding: 0 10px; }
.rf_hook_header { position: relative; text-align: center; margin: 1em 0 3em; }
.rf_header_tap_cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer; z-index: 1; }
.rf_qa_wrap { background-color: #ff7a70; border-radius: 16px 0 0 0; padding: 2%; color: #ffffff; position: relative; margin-bottom: 0; z-index: 2; box-sizing: border-box; }
.rf_qa_wrap .rf_q_row { display: flex; align-items: flex-start; text-align: left; margin-bottom: 8px; }
.rf_qa_wrap .rf_q_row .qa_badge { color: #fff; font-size: 16px; font-weight: bold; padding: 0 4px; border-radius: 4px; margin-bottom: 4px; }
.rf_qa_wrap .rf_q_row .qa_badge::after { content: "："; color: #ffffff; }
.rf_qa_wrap .rf_q_txt { font-size: min(4.1vw, 18px); font-weight: bold; margin: 0; line-height: 1.4; color: #ffffff; }
.rf_qa_wrap .rf_a_row { display: flex; flex-direction: column; align-items: flex-start; text-align: left; background: #ffffff; color: #444444; padding: 3%; border-radius: 4px; }
.rf_qa_wrap .rf_a_row .qa_badge { display: none; }
.rf_qa_wrap .rf_a_txt { font-size: min(4vw, 18px); line-height: 1.5; margin: 0; text-align: left; }
.rf_qa_wrap .rf_a_txt strong { color: #E15242; }

/* フワフワボタン（SP位置調整） */
@keyframes fuwafuwaFloatSP { 0% { transform: translate(50%, 0); } 50% { transform: translate(50%, -6px); } 100% { transform: translate(50%, 0); } }
.rf_qa_more_btn { position: absolute; bottom: -2em; right: 50%; transform: translateX(50%); background-color: #ffffff; color: #4da6e9; padding: 5px 14px; border-radius: 20px; font-size: min(4vw, 16px); font-weight: bold; text-decoration: none; box-shadow: 0 2px 4px rgba(0,0,0,0.15); animation: fuwafuwaFloatSP 2s ease-in-out infinite; cursor: pointer; z-index: 3; white-space: nowrap; width:86%; white-space: normal; /* 折り返しを許可（nowrapを打ち消す） */ word-break: break-word; /* 長い英単語やURLなどでも枠の端で折り返す */ overflow-wrap: break-word; /* 上と同じく折り返し指定（モダンブラウザ用） */ display: inline-block; /* もしくは block。幅を持たせるために必要です */ max-width: 100%; /* 親要素からはみ出さないようにする */ }

/* --------------------------------------
3. 開くアコーディオン内部
--------------------------------------- */
.rf_accordion_container { display: grid; grid-template-rows: 0fr; opacity: 0; overflow: hidden; /* ★これを追加（はみ出しを完全にカット） */ transition: grid-template-rows 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease-in-out; }
.rf_accordion_container > .rf_inner_content { min-height: 0; /* ★Gridアニメーションのバグ防止用 */ }
.rf_inner_content { overflow: hidden; background: #FFFFF4; box-sizing: border-box; /* ▼ 閉じている時は数値を0にして完全に隠す */ padding: 0; border: 0px solid transparent; /* ▼ 開閉時にガクッとしないようにアニメーションを追加 */ transition: padding 0.4s ease-in-out, border 0.4s ease-in-out; }
.rf_toggle_check:checked ~ .rf_accordion_container .rf_inner_content { /* ▼ 開いた時に、本来の余白と枠線を復活させる */ padding: 5% 2% 4%; border: 1px solid #FD827A; }
.rf_reason_ttl { text-align: center; margin-bottom: 20px; }
.rf_reason_ttl h3 { font-size: min(4.2vw, 18px); color: #333; font-weight: bold; display: inline-block; border-bottom: 2px solid #E15242; margin: 0; line-height: 1.5; text-align: left; padding: 0 0.5em 4px; }

/* --- 理由の4つのカード (横スクロール対応) --- */
#reason .style_list_box { display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; /* padding: 10px 4px 20px; */ margin: 0 0; gap: 12px; -webkit-overflow-scrolling: touch; }
#reason .style_list_box::-webkit-scrollbar { display: none; }

/* --- 理由の4つのカード (カード本体の高さ揃え) --- */
#reason .style_list_box dl { margin: 0; box-sizing: border-box; background: #fff; border-radius: 8px 8px 0 0; overflow: hidden; /* ▼ dl自身をFlexboxにして、中身を伸ばせる状態にする ▼ */ display: flex; flex-direction: column; }
#reason .style_list_box dl.img_wrap { width: 62%; flex: 0 0 62%; }
#reason .style_list_box img { border-radius: 8px 8px 0 0; width: 100%; height: auto; display: block; }
/* ▼ dl直下の aタグに余白をすべて埋めさせる ▼ */
#reason .style_list_box dl > a { display: flex; flex-direction: column; flex-grow: 1; /* 親のdlに合わせて伸びる */ text-decoration: none; color: inherit; }
/* ▼ 画像エリアが潰れないように保護 ▼ */
#reason .style_list_box dl > a > :first-child { flex-shrink: 0; }
/* ▼ テキストと枠線エリアを最大限伸ばす ▼ */
#reason .style_list_box dl .item_text_wrap { border: 2px solid #FD827A; padding: 20px 8px 12px; background: #ffffff; box-sizing: border-box; /* aタグの中でさらに下まで伸びるようにする */ flex-grow: 1; display: flex; flex-direction: column; }
#reason .style_list_box dl dd dl { width: 100%; padding: 0; margin: 0; }
#reason .style_list_box dl dd dl dt { font-size: min(4.1vw, 16px); text-align: center; margin-bottom: 0.5em; color: #FD928A; font-weight: bold; line-height: 1.4; }
#reason .style_list_box dl dd dl dd { font-size: min(4.1vw, 16px); line-height: 1.5; color: #333; margin: 0; }
#reason .style_list_box .gaju_badge { position: absolute; bottom: 0; left: 50%; transform: translate(-50%, 50%); z-index: 10; display: flex; justify-content: center; align-items: center; width: 38px; height: 38px; border-radius: 50%; font-size: 16px; font-weight: bold; box-shadow: 0 2px 5px rgba(0,0,0,0.15); }
#reason .style_list_box span { background-color: #FD928A; color: #fff; font-size: 24px; width: 20%; font-style: italic; }

/* アウトロテキスト */
.rf_outro { padding: 12px 8px; margin: 2em 0; }
.rf_outro p { font-size: min(4.1vw, 16px); color: #333; line-height: 1.6; margin: 0; text-align: center; }
.rf_outro strong { color: #FD928A; }

.pair_ttl::before, .pair_ttl::after { color: #E15242; /* カギカッコの色を指定 */ font-size: 1.2em; /* 少しだけカッコを大きくする */ font-weight: normal; /* カッコの太さを調整（必要に応じて） */ line-height: 1; vertical-align: middle; /* 文字との縦位置を調整 */ }
.pair_ttl::before { content: "「"; margin-right: 4px; /* 文字との隙間 */ }
.pair_ttl::after { content: "」"; margin-left: 4px; /* 文字との隙間 */ }

/* ペアギフト */
.rf_pair_section { text-align: center; padding: 16px 8px; background: #fff; margin: 0 0 4%; border-radius: 8px; }
.pair_ttl { font-size: min(4.3vw, 21px); color: #E15242; font-weight: bold; margin-bottom: 8px; text-align: center; }
.pair_banner { margin: 0 auto 16px; position: relative; }
.pair_banner img { width: 100%; height: auto; border-radius: 8px; display: block; }
.pair_banner p { font-size: min(4.1vw, 16px); font-weight: bold; color: #EC8A85; line-height: 1.6; margin: 0; text-align: center; }

/* 閉じるボタン */
.rf_close_btn_area { text-align: center; }
.rf_close_btn { display: inline-block; background: #666; color: #fff; font-weight: bold; padding: 3% 8%; border-radius: 20px; cursor: pointer; font-size: min(4.1vw, 18px); }

.rf_pair_section .common_txt{margin-bottom:0;}

/* --------------------------------------
4. 開閉トグル動作
--------------------------------------- */
.rf_toggle_check:checked ~ .rf_accordion_container { grid-template-rows: 1fr; opacity: 1; }
.rf_toggle_check:checked ~ .rf_hook_header .rf_main_btn_wrap, .rf_toggle_check:checked ~ .rf_hook_header .rf_header_tap_cover { display: none !important; }

/* --------------------------------------
5. 見出し（言葉で繋がる、特別なギフト）
--------------------------------------- */
.area_column_style_heading_wrap { text-align: center; margin-top: 24px; position: relative; }
.area_column_style_heading_wrap img { width: 100%; max-width: 100%; height: auto; }
.area_column_style_heading_wrap h3._heading { border: none; font-weight: bold; margin-top: 8px; margin-bottom: 0; text-align: center; }
#reason .area_column_style_heading_wrap h3 { position: absolute; left: 50%; transform: translateX(-50%); border: none; font-weight: bold; padding: 0; margin: 0; width: 100%; }

/* --------------------------------------
6. メッセージバナースライダー (overlay_banner SP)
--------------------------------------- */
#message_banner { position: relative; max-width: 100%; margin: 0 auto 32px; }
.overlay_banner { position: relative; width: 100%; margin: 0; overflow: hidden; border-radius: 8px; }
.overlay_banner .bg_image { display: block; width: 100%; height: auto; }
.overlay_banner .content_area, .overlay_banner._second .content_area { position: absolute; left: 4%; right: 4%; top: 0; transform: none; width: 55%; /* 当初の50%から広げて改行を防ぐ */ max-width: 60%; /* 商品画像に被らないための絶対的な限界値 */ }
.overlay_banner._second .content_area{ left: unset; right: 1%; }
.overlay_banner .banner_title { color: #F05A4A; font-weight: bold; margin: 0 0 6px 0; line-height: 1.3; text-align: center; font-size: min(3.6vw, 15px); }
.overlay_banner .banner_desc { color: #333333; margin: 0; line-height: 1.6; font-size: min(3.8vw, 15px); text-shadow: 1px 1px 2px #ffffff, -1px 1px 2px #ffffff, 1px -1px 2px #ffffff, -1px -1px 2px #ffffff, 0 0 6px #ffffff; padding: 0 2%; }
.overlay_banner .btn_cta { display: block; background-color: #F05A4A; color: #ffffff; padding: 3%; border-radius: 25px; text-decoration: none; font-weight: bold; box-shadow: 0 2px 4px rgba(0,0,0,0.15); font-size: min(4.1vw, 16px); white-space: nowrap; width:60%; margin: 1.5em auto 3%; text-align: center; }

#reason .swiper { height: auto !important; }

/* --------------------------------------
7. 無料サービス枠 (wrap_service SP)
--------------------------------------- */
.wrap_service { position: relative; border: 1px solid #FD827A; margin-top: 40px; padding: 20px 10px 16px; border-radius: 8px; box-sizing: border-box; }
#reason .wrap_service h4 { position: absolute; left: 50%; transform: translateX(-50%); top: -18px; background: #fff; padding: 0 8px; width: 88%; font-size: 13px; font-weight: bold; text-align: center; margin: 0; line-height: 1.3; color: #333; }
.service_card_list { display: flex; flex-direction: column; gap: 16px; list-style: none; padding: 8px 0 0; margin: 0; align-items: center; }
.service_card_list .service_card { display: flex; flex-direction: column; padding: 0; box-sizing: border-box; width: 100%; }
.service_card_list .service_card p { font-size: 13px; }
.service_card_list .card_img { text-align: center; margin-bottom: 8px; }
.service_card_list .card_img img { width: 100%; height: auto; vertical-align: bottom; }
.service_card_list .card_text_wrap { display: flex; flex-direction: column; flex-grow: 1; }
.service_card_list .card_desc { margin: 0; font-size: 12px; line-height: 1.5; color: #333333; }
.service_card_list .card_link { display: block; margin-top: 6px; text-align: right; color: #FF8B8B; font-size: 12px; text-decoration: none; font-weight: bold; }

/* 画像コンテナの基準位置を設定（独自のクラスが付与された場合のみ適用） */
.card_img.is-sample {
    position: relative;
    display: block;
}

/* 薄い黒のレイヤー（半透明） */
.card_img.is-sample::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); /* 黒の40%透過（お好みで数値を調整してください） */
    z-index: 1;
    pointer-events: none; /* 画像のクリックや保存を邪魔しないように設定 */
}

/* 「SAMPLE」のテキスト（スマホ向け調整） */
.card_img.is-sample::after {
    content: "SAMPLE";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: min(7vw, 24px); /* 画面幅に合わせて文字を縮小し、最大24pxに制限 */
    font-weight: bold;
    letter-spacing: 0.2em;
    z-index: 2;
    pointer-events: none;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5); /* スマホ環境でも文字が読みやすいように影を追加 */
}


.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after,
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {font-size: 22px!important;font-weight: bold; }

.swiper-button-prev, .swiper-rtl .swiper-button-next{ left:0!important;z-index: 2 !important; }
.swiper-button-next, .swiper-rtl .swiper-button-prev{ right:0!important;z-index: 2 !important; }
.swiper-button-next{ right:0!important; }

/* =========================================
無料サービス枠（スライダー化調整）
========================================= */
.wrap_service { position: relative; border: 1px solid #FD827A; /* margin-top: 48px; */ padding: 9% 3% 3%; border-radius: 8px; box-sizing: border-box; background: #ffffff; }

/* 見出しの重なり調整 */
#reason .wrap_service h3 { position: absolute; left: 50%; transform: translateX(-50%); top: -18px; background: #fff; padding: 0 8px; width: auto; max-width: 90%; font-size: min(4.2vw, 18px); font-weight: bold; text-align: center; margin: 0; line-height: 1.5; color: #333; z-index: 2;width:100%;}

/* スライドカード内の表示 */
#service_slider .service_card { display: flex; flex-direction: column; width: 100%; box-sizing: border-box; padding: 0 12%; }
#service_slider .card_img img { width: 100%; height: auto; vertical-align: bottom; border-radius: 4px; }
#service_slider .card_text_wrap { padding: 0; }
#service_slider .card_desc { margin: 0; font-size: 13px; line-height: 1.5; color: #333333; }
#service_slider .card_link { display: block; margin-top: 6px; text-align: right; color: #FF8B8B; font-size: 12px; text-decoration: none; font-weight: bold; }
#service_slider .card_text_wrap .common_txt{ margin:0.5em 0 0; }

.swiper-button-next, .swiper-rtl .swiper-button-prev{ text-align: right!important; }
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal{ margin-top:0!important; }
.rf_toggle_check { display: none; }
.area_catch h1{ margin-bottom:0; }
#Catch .area_catch{ margin: 1% 0 0%; }