/* ? ???????? ? */
.main_visual { position: relative; margin-bottom: 16px; }
.area_catch { position: absolute; top: 50%; transform: translateY(-50%); width: 70%; text-align: center; margin:1em;}
.area_catch h1 { font-size: min(5vw, 21px); line-height: 1.5; margin-bottom: 10px; color: #333;text-align: left;}
.area_catch p { width: 84%; font-size: min(4.1vw, 16px); }
.common_bnr { width: 100%; }
.common_bnr._styles { margin-top: 16px; margin-bottom: 4%; }
.common_bnr._styles .area_img_txt { position: absolute;left: 0;top: 50%;margin: 0 3%;width: unset;transform:translateY(-50%);}
h2.heading_sytles { text-align: center; font-size: min(5.6vw, 27px); font-weight: bold; color: #333; line-height: 1.3; margin: 0; }
.common_txt_style { font-size: 14px; margin: 0.5em 0 0; }
.marker-half { background: linear-gradient(transparent 60%, #ffff66 60%); }
.adjust_micro { font-weight: bold; color: #9b7846; font-size: min(4vw, 17px); }

/* ? ????????????? ? */
.father_type_wrap { background-color: #2b3899; padding: 20px 10px; border-top: 2px solid #c8a97e; border-bottom: 2px solid #c8a97e; }
.father_type_title { color: #ffffff; font-size: 20px; text-align: center; margin-bottom: 20px; letter-spacing: 0.1em; font-weight: bold; }
.father_type_nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 2%; list-style: none; padding: 0; margin: 0 auto; width: 100%; }
.type_item { width: 32%; cursor: pointer; transition: opacity 0.3s; margin-bottom: 10px; }
.type_item:hover { opacity: 0.7; }
.type_inner { border: 1px solid #c8a97e; border-radius: 100px 100px 0 0; padding: 15px 5px 15px; text-align: center; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; }
.type_img { width: 80%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; margin-bottom: 10px; background-color: #333; }
.type_img img { width: 100%; height: 100%; object-fit: cover; }
.type_name { color: #fff; font-weight: bold; font-size: 12px; margin: 0; letter-spacing: 0.05em; text-align: center; line-height: 1.4; }
.father_type_contents { padding: 0; text-align: center; }

/* ? ???????????????? ? */
.type_item.active { position: relative; opacity: 1; }
.type_item.active .type_inner { background-color: #c8a97e; border: 1px solid #c8a97e; box-shadow: 0 4px 10px rgba(200, 169, 126, 0.4); }
.type_item.active .type_name { color: #0d152a; }
.type_item.active::after { content: ""; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); border-top: 10px solid #c8a97e; border-right: 10px solid transparent; border-left: 10px solid transparent; z-index: 2; }

/* ? ??????? ? */
.type_lead_box { background: #fdfaf6; padding: 3%; border-radius: 8px; text-align: center; border: 1px solid #c8a97e; margin: 3%; }
.lead_title { color: #c8a97e; font-size: 16px; font-weight: bold; margin: 0 0 10px; line-height: 1.4; }
.lead_text { font-size: min(4.1vw, 16px); color: #333; margin: 0; line-height: 1.6; text-align: left; }

/* ? ?????????????????? ? */
.wrap_type_product { display: flex; flex-wrap: wrap; gap: 3% 0; width: 100%; margin: 0 auto; }
.e87-column-image__single_small { position: relative; width: 100%; margin: 4%; padding: 4%; background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); box-sizing: border-box; }
.product_link_area { text-decoration: none; color: inherit; display: block; }
.recommend_badge { position: absolute; top: -10px; left: -10px; background: #c8a97e; color: #fff; padding: 6px 14px; font-size: 14px; font-weight: bold; border-radius: 20px; z-index: 10; box-shadow: 0 2px 5px rgba(0,0,0,0.2); }

/* ? ??????????? ? */
._name { font-size: 16px; font-weight: bold; text-align: center; margin: 12px 0 8px; color: #333; line-height: 1.4; }
._price { color: #2b3899; font-size: 16px; font-weight: bold; text-align: center; margin: 0 0 12px; }
.tax_in { font-size: 12px; font-weight: normal; }

/* ? ?????????? ? */
.area_des { background: #fff4f4; padding: 12px; text-align: left; color: #333; border-radius: 4px; font-size: 14px; line-height: 1.5; margin-bottom: 16px; }
.e87-column-image__single_small h3 { color: #e66784; text-align: center; margin: 0 1em 0.5em; font-weight: bold; font-size: 14px; }
.area_des p { margin: 0; font-weight: bold; color: #555; }
.adjust_point { color: #e66784; font-weight: bold; margin-bottom: 4px; display: block; }
.adjust_point_sub { color: #9b7846; font-weight: bold; }
.adjust_strong { font-size: medium; }

/* ? ????CTA? ? */
._button { margin: 0 auto; background: #2b3899; color: #fff; width: 95%; padding: 12px 5px; border-radius: 25px; position: relative; text-align: center; line-height: 1; font-weight: bold; font-size: 14px; }
._button::after { content: ""; position: absolute; margin: auto; top: 50%; right: 1.5em; width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg) translateY(-50%); }
.e87-column-image__single_small a ._button.soldout { background: #636363; }

.tab_content_box { display: block !important; margin-bottom: 40px; scroll-margin-top: 60px; }

.area_des_quote { position: relative; background: #fdfaf6; padding: 12px 14px; border-radius: 8px; text-align: left; margin-bottom: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.03); overflow: hidden; }
.area_des_quote::before { content: "g"; font-family: "Times New Roman", serif; position: absolute; top: -10px; left: 6px; font-size: 70px; color: rgba(200, 169, 126, 0.2); line-height: 1; }
.area_des_quote p { position: relative; z-index: 1; margin: 0; color: #333; line-height: 1.5; font-size: min(4.6vw, 18px); font-weight: bold; }

.adjust_heading{    font-size: min(7.4vw, 28px);color:#4c5cd3;}
.adjust_heading_type{color: #9b7846;font-weight: bold;display: block;margin-bottom: 4px;}