@charset "UTF-8";

/*---------------------------------
heading
-----------------------------------*/
.xmas_heading.heading_bg h2 { color: #d29348; }
.xmas_heading h1 { color: #000; }

/*---------------------------------
point
-----------------------------------*/
.area_point ul._point { display: flex; justify-content: center; margin: 48px 0 16px; }
.area_point ul._point li { position: relative; width: 49%; padding: 32px 16px 16px; background: #fffbf4; box-sizing: border-box; text-align: center; color: #D01C1C; margin: 0 8px; }
.area_point ul._point li::after { content: ""; position: absolute; top: 4px; left: 4px; width: 0; height: 0; border-style: solid; border-width: 20px 40px 0 0; border-color: #D01C1C transparent transparent transparent; transition: 0.2s; }
.area_point ul._point li span._number { font-size: 32px; position: relative; }
.area_point ul._point li h3.point_title { font-size: 20px; text-align: center; margin-bottom: 16px; color: #D01C1C; font-weight: bold; font-family: 'Noto Serif JP', serif; font-weight: 700; }
.area_point ul._point li p.point_lead { font-size: 16px; line-height: 1.8; margin: 0; text-align: left; }
.area_point .box_arrow ._catch { position: relative; top: 27%; font-weight: 600; }
.area_point .box_arrow { position: absolute; width: 90px; height: 90px; background: #D01C1C; padding: 0px; text-align: center; color: #FFFFFF; font-size: 14px; font-weight: bold; border-radius: 50px; -webkit-border-radius: 50px; -moz-border-radius: 50px; top: -20px; right: 0; box-sizing: border-box; }
.area_point .box_arrow:after { border: solid transparent; content: ''; height: 0; width: 0; pointer-events: none; position: absolute; border-top-width: 15px; border-bottom-width: 15px; border-left-width: 9px; border-right-width: 8px; margin-left: -10px; border-top-color: #D01C1C; top: 83%; left: 12%; transform: rotate(45deg); }

.area_column { display: flex; justify-content: center; margin: 16px auto; padding: 8px 16px 16px; box-sizing: border-box; }
.wrap_intro { border: 1px solid #ebc1c7; position: relative; margin: 48px 8px; padding: 0 16px 16px; }
#charm h3.heading_single { margin: 32px 0 24px; font-size: 24px; position: absolute; top: -46px; left: 50%; transform: translateX(-50%); background: #fff; width: 70%; font-family: 'Noto Serif JP', serif; font-weight: 700; color: #D01C1C; }
#charm .area_point .left_txt p { margin: 0 0em 1em 1em; text-align: left; }
#charm .area_point .left_txt p:last-child { margin-bottom: 0; }
h4.words { padding: 2px; font-size: 22px; color: #D01C1C; font-weight: bold; text-align: center; margin: 40px 16px 8px; border-bottom: 1px solid; padding-bottom: 16px; font-family: 'Noto Serif JP', serif; font-weight: 700; }

/*---------------------------------
flower language
-----------------------------------*/
.area_flower_language { max-width: 820px; margin: 16px auto 32px; padding: 16px 15px; border-top: 1px solid #ede7de; border-bottom: 1px solid #ede7de; box-sizing: border-box; }
.area_flower_language .fl_inner { display: flex; align-items: center; justify-content: center; gap: 16px; width: 670px; margin: 0 auto; }
.area_flower_language .fl_img { flex: 0 0 50%; max-width: 40%; }
.area_flower_language .fl_img img { width: 100%; height: auto; display: block; border-radius: 2px; }
.area_flower_language .fl_text { font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif; color: #333333; flex: 0 0 50%; }
.area_flower_language .fl_group { margin-bottom: 12px; }
.area_flower_language .fl_group:last-child { margin-bottom: 0; }
.area_flower_language .fl_title { font-size: 18px; letter-spacing: 0.08em; margin: 0; line-height: 1.4; text-align: center; }
.area_flower_language .fl_title .name_red { color: #b42b2b; font-weight: 600; }
.area_flower_language .fl_desc { font-size: 15px; line-height: 1.8; letter-spacing: 0.06em; color: #444444; margin: 0; text-align: center; }

/*---------------------------------
size guide
-----------------------------------*/
.size_guide_section { max-width: 920px; margin: 0 auto 24px; background-color: #faf8f5; border-radius: 8px; padding: 35px 25px; box-sizing: border-box; font-family: "Noto Sans JP", sans-serif; }
.sg_header { text-align: center; margin-bottom: 24px; }
.sg_title { color: #b32428; font-size: 20px; font-weight: 600; letter-spacing: 0.05em; margin: 0 0 6px 0; font-family: "Noto Serif JP", serif; text-align: center; }
.sg_notice { font-size: 13px; color: #777777; margin: 0; text-align: center; }
.sg_container { display: flex; gap: 20px; justify-content: center; }
.sg_card { flex: 1; max-width: 280px; background-color: #ffffff; border: 1px solid #ede7de; border-radius: 8px; padding: 18px 14px; box-sizing: border-box; text-align: center; display: flex; flex-direction: column; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.sg_card:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06); }
.sg_badge { background-color: #a31215; color: #ffffff; font-size: 15px; font-weight: bold; padding: 4px 12px; letter-spacing: 0.05em; margin-bottom: 8px; text-align: center; }
.sg_place { font-size: 12px; color: #b32428; background: #fdf5f5; border-radius: 4px; padding: 3px 6px; margin-bottom: 12px; font-weight: 500; text-align: center; }
.sg_img { height: 180px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.sg_img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.sg_spec { margin: 0; padding-top: 12px; border-top: 1px dashed #e2ded7; text-align: left; }
.sg_spec dt { font-size: 12px; font-weight: bold; color: #555555; margin-top: 6px; }
.sg_spec dt:first-child { margin-top: 0; }
.sg_spec dd { font-size: 13.5px; color: #222222; margin: 2px 0 0 0; font-weight: 500; }
.sg_scroll_btn { display: block; margin-top: 16px; padding: 10px 15px; background-color: #ffffff; border: 1px solid #b32428; color: #b32428; font-size: 13px; font-weight: bold; text-align: center; text-decoration: none; border-radius: 20px; transition: all 0.2s ease; }
.sg_scroll_btn:hover { background-color: #b32428; color: #ffffff; text-decoration: none; }

/*---------------------------------
others
-----------------------------------*/
.area_items_lead span.lead_heading { display: inline-block; border-left: 4px solid #AE0C00; color: #AE0C00; font-weight: bold; padding-left: 8px; line-height: 1.2; margin-bottom: 4px; }
span.txt_green { color: #de1c41; padding-left: 1em; font-size: 14px; display: block; border: 1px solid #de1c41; padding: 1em 2em; line-height: 1.6; margin: 0em 1em 1em; }
span.txt_green:before { content: "\f06a"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 16px; margin-left: -19px; padding-right: 4px; }