@charset "utf-8";

/* ==================================================
   milmira 新発売記念キャンペーン LP
   ================================================== */

#new-milmira {
	/* ---- color token ---- */
	--mm-wine: #A64268;
	/* 見出し・特典01 */
	--mm-wine-d: #8E3355;
	--mm-navy: #5E7BAE;
	/* アコーディオン見出し・特典02 */
	--mm-navy-d: #4A6595;
	--mm-purple: #9B8CC4;
	/* アンカーボタン・特典03 */
	--mm-purple-l: #B7A9D9;
	--mm-pink-bg: #FBEFF3;
	/* 特典セクション背景 */
	--mm-pink-pale: #FDF6F8;
	--mm-gray-bg: #F5F4F6;
	--mm-brown: #A9846B;
	--mm-cpink: #D99BAE;
	--mm-cgray: #8D9AB0;
	--mm-cgreen: #7FA898;
	--mm-txt: #4A4650;
	--mm-txt-l: #7C7686;
	--mm-line: #D9D5DE;
	--mm-white: #FFFFFF;

	/* ---- font token ---- */
	--mm-f-serif: "Zen Old Mincho", "Yu Mincho", "游明朝", serif;
	--mm-f-en: "Cormorant Garamond", "Times New Roman", serif;
	--mm-f-body: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;

	font-family: var(--mm-f-body);
	color: #4e5257;
	font-size: min(3.33vw, 14px);
	line-height: 1.8;
	background: var(--mm-white);
	overflow-x: hidden;
	font-weight: 500;
	
    letter-spacing: 0;

	width: 100%;
	margin: 0 auto;
}

#new-milmira * {
	box-sizing: border-box;
}

#new-milmira img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

/* 全幅で敷く画像は container を必ず埋める（inline由来の隙間も防止） */
#new-milmira .mm_mv img,
#new-milmira .mm_trouble_ttl img,
#new-milmira > img,
#new-milmira .mm_bnf_card img {
	display: block;
	width: 100%;
}

/* 幅を親に対して % 指定した画像枠は、中の img を枠いっぱいに */
#new-milmira .mm_point_img img,
#new-milmira .mm_lineup_lens img,
#new-milmira .mm_scene_img img,
#new-milmira .mm_pair_img img,
#new-milmira .mm_price_thumb img,
#new-milmira .mm_bnf_thumb img,
#new-milmira .mm_bnf_review_img img,
#new-milmira .mm_float img {
	display: block;
	width: 100%;
}

#new-milmira ul,
#new-milmira li,
#new-milmira p,
#new-milmira h1,
#new-milmira h2,
#new-milmira h3 {
	margin: 0;
	padding: 0;
	list-style: none;
}

#new-milmira a {
	text-decoration: none;
	color: inherit;
}

#new-milmira button {
	font-family: inherit;
	border: none;
	background: none;
	cursor: pointer;
	padding: 0;
}

/* 共通：英字大見出し（LINE UP / ORDER） */
#new-milmira .mm_en_ttl {
	font-family: var(--mm-f-en);
	font-size: min(9.52vw, 40px);
	font-weight: bold;
	letter-spacing: .12em;
	color: var(--mm-purple);
	text-align: center;
	padding: 10.67% 0 6.4%;
	line-height: 1;
}

/* ==================================================
   HEADER
   ================================================== */
#new-milmira .mm_header {
	background: var(--mm-white);
}

#new-milmira .mm_catch {
	background: var(--mm-navy);
	color: var(--mm-white);
	font-size: min(3.33vw, 14px);
	font-weight: 500;
	letter-spacing: .06em;
	text-align: center;
	padding: 2.67% 2.13%;
}

#new-milmira .mm_mv img {
	width: 100%;
}

#new-milmira .mm_cp_ttl {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 4px;
	padding: 4.27% 0 3.73%;
	white-space: nowrap;
}

#new-milmira .mm_cp_ttl_main {
	font-family: var(--mm-f-serif);
	font-size: min(6.43vw, 27px);
	font-weight: 700;
	color: #b66485;
	letter-spacing: .02em;
}

#new-milmira .mm_cp_ttl_sub {
	font-family: var(--mm-f-serif);
	font-size: min(3.81vw, 16px);
	font-weight: 500;
	color: #4e5257;
}

/* --- 価格ボックス --- */
#new-milmira .mm_price_box {
	background: linear-gradient(135deg, #B45077 0%, #A64268 100%);
	color: var(--mm-white);
	padding: 3.73% 4.27% 4.27%;
	position: relative;
}

#new-milmira .mm_price_lead {
	position: absolute;
	top: 14px;
	right: 18px;
	font-size: min(3.1vw, 13px);
	letter-spacing: .04em;
}

#new-milmira .mm_price_row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

#new-milmira .mm_price_unit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 1px solid var(--mm-white);
	border-radius: 50%;
	font-size: min(3.57vw, 15px);
	font-weight: 500;
	flex-shrink: 0;
}

#new-milmira .mm_price_num {
	font-family: var(--mm-f-en);
	font-size: min(17.14vw, 72px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.01em;
}

#new-milmira .mm_price_yen {
	font-size: min(6.19vw, 26px);
	font-weight: 500;
	align-self: flex-end;
	padding-bottom: 1.6%;
}

#new-milmira .mm_price_thumb {
	width: 25.6%;
	flex-shrink: 0;
	margin-left: 1.07%;
}

#new-milmira .mm_price_foot {
	text-align: center;
	font-size: min(3.81vw, 16px);
	font-weight: 500;
	margin-top: 1.6%;
	letter-spacing: .02em;
}


#new-milmira .mm_plus {

	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	background: var(--mm-white);
	color: #b66485;
	border-radius: 50%;
	font-size: min(2.86vw, 12px);
	line-height: 1;
	margin-right: 1.07%;
	vertical-align: 1px;
}

/* ==================================================
   特典アンカー
   ================================================== */
#new-milmira .mm_anchor_wrap {
	padding: 8.53% 5.33% 5%;
}

#new-milmira .mm_anchor_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: var(--mm-purple);
	color: var(--mm-white);
	border-radius: 999px;
	height: 56px;
	font-size: min(3.81vw, 16px);
	font-weight: 500;
	letter-spacing: .04em;
	box-shadow: 0 4px 12px rgba(155, 140, 196, .3);
	transition: opacity .2s;
}

#new-milmira .mm_anchor_btn:active {
	opacity: .8;
}

#new-milmira .mm_anchor_btn::after {
	content: "";
	position: absolute;
	right: 24px;
	top: 50%;
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--mm-white);
	border-bottom: 2px solid var(--mm-white);
	transform: translateY(-70%) rotate(45deg);
}

/* ==================================================
   お悩み
   ================================================== */
#new-milmira .mm_trouble {
	padding: 2.13% 5.33% 12.8%;
	text-align: center;
}

#new-milmira .mm_trouble_ttl {
	font-family: var(--mm-f-serif);
	color: #b66485;
	line-height: 1.6;
}

#new-milmira .mm_trouble_ttl .mm_line1 {
	display: block;
	font-size: min(5.24vw, 22px);
	font-weight: 500;
}

#new-milmira .mm_trouble_ttl em {
	font-style: normal;
	font-size: min(6.67vw, 28px);
	font-weight: 700;
	background: linear-gradient(transparent 78%, #F0C7D5 78%);
	padding: 0 0.53%;
}

#new-milmira .mm_trouble_ttl .mm_line2 {
	display: block;
	font-size: min(5.24vw, 22px);
	font-weight: 500;
	margin-top: 0.53%;
}

#new-milmira .mm_trouble_list {
	margin: 6.4% auto 0;
	display: inline-block;
	text-align: left;
}

#new-milmira .mm_trouble_list li {
    position: relative;
    padding-left: 5%;
    font-size: min(3.33vw, 14px);
    line-height: 1.3;
    margin-bottom: 3.6%;
}

#new-milmira .mm_trouble_list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 8px;
	width: 10px;
	height: 6px;
	border-left: 2px solid var(--mm-purple);
	border-bottom: 2px solid var(--mm-purple);
	transform: rotate(-45deg);
}

/* 三点リーダー */
#new-milmira .mm_trouble_dots {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	margin: 5.87% 0;
}

#new-milmira .mm_trouble_dots span {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--mm-line);
}

/* 吹き出し */
#new-milmira .mm_trouble_bubble {
	position: relative;
	display: inline-block;
	background: linear-gradient(135deg, #D97FA0 0%, #C4658C 100%);
	color: var(--mm-white);
	font-size: min(3.57vw, 15px);
	font-weight: 500;
	letter-spacing: .02em;
	padding: 2.93% 6.93%;
	border-radius: 999px;
}

#new-milmira .mm_trouble_bubble::after {
	content: "";
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 10px solid #C4658C;
}

/* メッセージ */
#new-milmira .mm_trouble_msg {
	position: relative;
	margin-top: 9.07%;
	padding: 2.13% 0;
}

#new-milmira .mm_trouble_msg p {
	font-family: var(--mm-f-serif);
	font-size: min(4.52vw, 19px);
	font-weight: 500;
	color: var(--mm-wine-d);
	letter-spacing: .06em;
	line-height: 2.1;
	position: relative;
	z-index: 2;
}

#new-milmira .mm_logo_txt {
	font-family: var(--mm-f-en);
	font-size: min(5.95vw, 25px);
	font-weight: 500;
	letter-spacing: .02em;
}

#new-milmira .mm_float {
	position: absolute;
	width: 23.3%;
	z-index: 1;
}

#new-milmira .mm_float_l {
	left: -14px;
	top: 4px;
	transform: rotate(-14deg);
}

#new-milmira .mm_float_r {
	right: -14px;
	top: 30px;
	transform: rotate(12deg);
}

/* ==================================================
   アコーディオン（共通）
   ================================================== */
#new-milmira .mm_acc {
    margin: 0 4% 10%;
	border: 1px solid var(--mm-navy);
	border-radius: 8px;
	overflow: hidden;
	background: var(--mm-white);
}

#new-milmira .mm_acc_ttl {
	position: relative;
	background: var(--mm-navy);
	color: var(--mm-white);
    font-size: min(4.2vw, 21px);
	font-weight: 500;
	letter-spacing: .06em;
	text-align: center;
	padding: 4% 11.73%;
	cursor: pointer;
	user-select: none;
}

/* ＋／− アイコン */
#new-milmira .mm_acc_ttl::before,
#new-milmira .mm_acc_ttl::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	background: var(--mm-white);
	transition: transform .3s ease;
}

#new-milmira .mm_acc_ttl::before {
	width: 14px;
	height: 2px;
	transform: translateY(-50%);
}

#new-milmira .mm_acc_ttl::after {
	width: 2px;
	height: 14px;
	right: 24px;
	transform: translateY(-50%);
}

#new-milmira .mm_acc_ttl.is_open::after {
	transform: translateY(-50%) rotate(90deg);
	opacity: 0;
}

#new-milmira .mm_acc_body {
	display: none;
	padding: 5.87% 7% 6.4%;
}

#new-milmira .mm_acc_lead {
	text-align: center;
    font-size: min(3.6vw, 16px);
	line-height: 1.8;
	margin-bottom: 5.33%;
}

/* ==================================================
   その理由は？（Point）
   ================================================== */
#new-milmira .mm_reason {
	padding-top: 2.13%;
}

#new-milmira .mm_point_list li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 4.8% 0;
	border-bottom: 1px solid #c4d3eb;
}

#new-milmira .mm_point_list li:first-child {
	padding-top: 1.07%;
}

#new-milmira .mm_point_list li:last-child {
	border-bottom: none;
	padding-bottom: 1.07%;
}

#new-milmira .mm_point_img {
	width: 23.6%;
	flex-shrink: 0;
}

#new-milmira .mm_point_no {
	font-family: var(--mm-f-en);
	font-size: min(4.05vw, 17px);
	font-style: italic;
	color: #b66485;
	line-height: 1.2;
	margin-bottom: 2%;
	width: 28%;
}

#new-milmira .mm_point_no em {
	font-style: italic;
	font-size: min(5vw, 21px);
	font-weight: 600;
	margin-left: 0.53%;
}

#new-milmira .mm_point_desc {
	font-size: min(3.21vw, 13.5px);
	line-height: 1.75;
}

/* ==================================================
   LINE UP
   ================================================== */
#new-milmira .mm_lineup {
	background: #fcf6ff;
	padding-bottom: 11.73%;
}

#new-milmira .mm_lineup_list {
    display: flex;
    flex-wrap: wrap;
    gap: 37px 28px;
    padding: 0 4.27%;
}

#new-milmira .mm_lineup_list li {
	width: calc((100% - 29px) / 2);
}

#new-milmira .mm_lineup_eye {
	border-radius: 6px;
	overflow: hidden;
	line-height: 0;
}

#new-milmira .mm_lineup_eye img {
	width: 100%;
}

#new-milmira .mm_lineup_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 2.13% 0.53% 0;
}

#new-milmira .mm_lineup_name .mm_en {
	display: block;
	font-family: var(--mm-f-en);
	font-size: min(4.52vw, 19px);
	font-weight: 500;
	line-height: 1.2;
}

#new-milmira .mm_lineup_name .mm_ja {
	display: block;
	font-size: min(3.1vw, 13px);
	color: var(--mm-txt-l);
	letter-spacing: .04em;
}

#new-milmira .mm_lineup_lens {
	width: 25.4%;
	flex-shrink: 0;
}

/* カラー別文字色 */
#new-milmira .is_brown .mm_lineup_name .mm_en,
#new-milmira .mm_color_name.is_brown .mm_en,
#new-milmira .mm_scene_list .is_brown .mm_en {
	color: #996e51;
}

#new-milmira .is_pink .mm_lineup_name .mm_en,
#new-milmira .mm_color_name.is_pink .mm_en,
#new-milmira .mm_scene_list .is_pink .mm_en {
	color: #c88694;
}

#new-milmira .is_gray .mm_lineup_name .mm_en,
#new-milmira .mm_color_name.is_gray .mm_en,
#new-milmira .mm_scene_list .is_gray .mm_en {
	color: var(--mm-cgray);
}

#new-milmira .is_green .mm_lineup_name .mm_en,
#new-milmira .mm_color_name.is_green .mm_en,
#new-milmira .mm_scene_list .is_green .mm_en {
	color: #639d9a;
}

/* もっと詳しくボタン */
#new-milmira .mm_more_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 4%;
	margin-top: 2.13%;
	border-radius: 999px;
	border: 0.15em solid currentColor;
	background: var(--mm-white);
	font-size: min(3.1vw, 13px);
	font-weight: bold;
	letter-spacing: .04em;
}

#new-milmira .mm_more_btn::after {
	content: "";
	position: absolute;
	right: 14px;
	top: 50%;
	width: 6px;
	height: 6px;
	border-right: 1.5px solid currentColor;
	border-top: 1.5px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
}

#new-milmira .is_brown .mm_more_btn {
	color: #996e51;
}

#new-milmira .is_pink .mm_more_btn {
	color: #c88694;
}

#new-milmira .is_gray .mm_more_btn {
	color: var(--mm-cgray);
}

#new-milmira .is_green .mm_more_btn {
	color: #639d9a;
}

/* ==================================================
   カラー選びで迷っている方へ
   ================================================== */
#new-milmira .mm_choose {
	background: #FFF;
	padding: 2.13% 0 11.73%;
}

#new-milmira .mm_choose_ttl {
	font-family: var(--mm-f-serif);
    font-size: min(6vw, 30px);
	font-weight: 700;
	color: #b66485;
	text-align: center;
	letter-spacing: .04em;
	padding: 7.47% 3.2% 6.93%;
}

/* --- カラー名（共通） --- */
#new-milmira .mm_color_name .mm_en {
	display: block;
	font-family: var(--mm-f-en);
	font-size: min(5vw, 21px);
	font-weight: 500;
	line-height: 1.25;
}

#new-milmira .mm_color_name .mm_ja {
	display: block;
	font-size: min(2.5vw, 10.5px);
	color: var(--mm-txt-l);
	letter-spacing: .04em;
}

/* --- 使用シーンから選ぶ --- */
#new-milmira .mm_scene_list li {
	padding: 5.33% 0;
	border-bottom: 0.2em solid #c4d3ea;
}

#new-milmira .mm_scene_list li:first-child {
	padding-top: 1.07%;
}

#new-milmira .mm_scene_list li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

#new-milmira .mm_scene_body {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin-top: 2.13%;
}

#new-milmira .mm_scene_txt {
	flex: 1;
	min-width: 0;
}

#new-milmira .mm_scene_txt p {
	font-size: min(3.57vw, 15px);
	line-height: 1.7;
	margin-top: 2.13%;
}

#new-milmira .mm_scene_img {
	width: 46%;
	flex-shrink: 0;
}


#new-milmira .is_brown .mm_tag {
	background: #EDE0D6;
	color: #8A6A54;
}

#new-milmira .is_pink .mm_tag {
	background: #F7DDE6;
	color: #B4718A;
}

#new-milmira .is_gray .mm_tag {
	background: #DFE4EC;
	color: #6C7B92;
}

#new-milmira .is_green .mm_tag {
	background: #DCEAE4;
	color: #5F8878;
}

/* --- パーソナルカラー／2色セット 共通ブロック --- */
#new-milmira .mm_pc_block {
	margin-bottom: 6.93%;
}

#new-milmira .mm_pc_block:last-child {
	margin-bottom: 0;
}

#new-milmira .mm_pc_head {
	border-radius: 999px;
	text-align: center;
	font-size: min(3.33vw, 14px);
	font-weight: 500;
	padding: 1.87% 3.2%;
	letter-spacing: .04em;
	margin-bottom: 4.27%;
}

#new-milmira .mm_pc_head.is_yellow {
	background: #F3DFD3;
	color: #97705A;
}

#new-milmira .mm_pc_head.is_blue {
	background: #DEE4F0;
	color: #5E7BAE;
}

#new-milmira .mm_pc_head.is_beige {
	background: #F0E0D8;
	color: #997263;
}

#new-milmira .mm_pc_head.is_pink {
	background: #F8DDE5;
	color: #B4718A;
}

#new-milmira .mm_pc_head.is_mint {
	background: #DDEAE6;
	color: #5F8878;
}

#new-milmira .mm_pair {
	display: flex;
	gap: 12px;
}

#new-milmira .mm_pair li {
	width: calc((100% - 12px) / 2);
}

#new-milmira .mm_pair_img {
	margin-top: 1.6%;
}

#new-milmira .mm_pc_desc {
	font-size: min(3.57vw, 15px);
	line-height: 1.8;

	margin-top: 3.73%;
	text-align: center;
}

/* パーソナルカラーの説明文は左揃え */
#new-milmira .mm_acc:nth-of-type(2) .mm_pc_desc {
	text-align: left;
}

/* ==================================================
   特典
   ================================================== */
#new-milmira .mm_benefit {
	background: var(--mm-pink-bg);
	padding: 11.73% 0 12.8%;
}

#new-milmira .mm_benefit_inner {
	padding: 0 4.27%;
}

#new-milmira .mm_benefit_ttl {
	text-align: center;
	margin-bottom: 10.67%;
}

#new-milmira .mm_benefit_lead {
    display: block;
    font-weight: 500;
    font-size: min(4vw, 17px);
    line-height: 1.6;
    color: #4e5257;
    margin-bottom: 1%;
}

#new-milmira .mm_benefit_main {
	display: block;
	font-family: var(--mm-f-serif);
	font-size: min(8vw, 31px);
	font-weight: 700;
	color: #b66485;
	line-height: 1.6;
	letter-spacing: .03em;
}

/* --- 特典カード --- */
#new-milmira .mm_bnf_card {
	position: relative;
	margin-bottom: 11.2%;
	text-align: center;
}

#new-milmira .mm_bnf_card:last-child {
	margin-bottom: 0;
}

/* 特典バッジ */
#new-milmira .mm_bnf_badge {
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
	width: 56px;
	height: 56px;
	background: var(--mm-purple);
	color: var(--mm-white);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1.1;
	/* ギザギザ（メダル風） */
	clip-path: polygon(50% 0%, 61% 8%, 74% 4%, 81% 15%, 94% 17%, 95% 30%, 100% 42%, 93% 52%, 100% 63%, 92% 72%, 94% 85%, 81% 88%, 74% 98%, 61% 95%, 50% 100%, 39% 95%, 26% 98%, 19% 88%, 6% 85%, 8% 72%, 0% 63%, 7% 52%, 0% 42%, 5% 30%, 6% 17%, 19% 15%, 26% 4%, 39% 8%);
}

#new-milmira .mm_bnf_badge_l1 {
	font-size: min(3.1vw, 13px);
	letter-spacing: .04em;
}

#new-milmira .mm_bnf_badge_l2 {
	font-family: var(--mm-f-en);
	font-size: min(4.52vw, 19px);
	font-weight: 600;
}

#new-milmira .mm_bnf_catch {
	font-size: min(3.21vw, 13.5px);
	font-weight: 500;
	letter-spacing: .02em;
	margin-bottom: 3.2%;
}

/* 帯 */
#new-milmira .mm_bnf_bar {
	color: var(--mm-white);
	font-size: min(3.57vw, 15px);
	font-weight: 500;
	letter-spacing: .04em;
	padding: 2.13% 2.67%;
	margin: 0 -4.27% 4.8%;
}

#new-milmira .mm_bnf_bar.is_wine {
	background: var(--mm-wine);
}

#new-milmira .mm_bnf_bar.is_navy {
	background: var(--mm-navy);
}

#new-milmira .mm_bnf_bar.is_purple {
	background: var(--mm-purple);
}

#new-milmira .mm_bnf_note {
	font-size: min(3.1vw, 13px);
	color: #b66485;
	margin-bottom: 1.07%;
}

/* 価格 */
#new-milmira .mm_bnf_price {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-bottom: 5.33%;
}

#new-milmira .mm_bnf_unit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border: 1px solid var(--mm-wine);
	border-radius: 50%;
	color: #b66485;
	font-size: min(3.1vw, 13px);
	font-weight: 500;
	flex-shrink: 0;
}

#new-milmira .mm_bnf_num {
	font-family: var(--mm-f-en);
	font-size: min(16.19vw, 68px);
	font-weight: 500;
	line-height: 1;
	color: #b66485;
}

#new-milmira .mm_bnf_yen {
	font-size: min(5.71vw, 24px);
	font-weight: 500;
	color: #b66485;
	align-self: flex-end;
	padding-bottom: 1.6%;
}

#new-milmira .mm_bnf_thumb {
	width: 25%;
	flex-shrink: 0;
	line-height: 0;
}

/* 特典02 */
#new-milmira .mm_bnf_price.is_navy {
	align-items: flex-end;
	gap: 2px;
}

#new-milmira .mm_bnf_price.is_navy .mm_bnf_num {
	color: var(--mm-navy);
	font-size: min(17.62vw, 74px);
}

#new-milmira .mm_bnf_off {
	font-size: min(6.19vw, 26px);
	font-weight: 500;
	color: var(--mm-navy);
	padding-bottom: 2.13%;
}

#new-milmira .mm_bnf_sub {
	font-size: min(3.1vw, 13px);
	color: var(--mm-navy);
	padding-bottom: 3.2%;
}

#new-milmira .mm_bnf_thumb.is_hand {
	width: 19.2%;
	margin-left: 0.53%;
}

/* 特典03 */
#new-milmira .mm_bnf_review {
	position: relative;
	padding-bottom: 1.6%;
}

#new-milmira .mm_bnf_review_sub {
	display: block;
	font-size: min(3.21vw, 13.5px);
	margin-bottom: 1.07%;
}

#new-milmira .mm_bnf_review_main {
	display: block;
	font-family: var(--mm-f-serif);
	font-size: min(5.95vw, 25px);
	font-weight: 700;
	color: var(--mm-purple);
	line-height: 1.55;
	letter-spacing: .03em;
}

#new-milmira .mm_bnf_review_img {
	position: absolute;
	right: -4px;
	bottom: 4px;
	width: 21.6%;
	line-height: 0;
}

/* 特典ボタン */
#new-milmira .mm_bnf_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	height: 48px;
	border-radius: 999px;
	background: var(--mm-white);
	font-size: min(3.57vw, 15px);
	font-weight: 500;
	letter-spacing: .04em;
	transition: opacity .2s;
}

#new-milmira .mm_bnf_btn:active {
	opacity: .7;
}

#new-milmira .mm_bnf_btn::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 7px;
	height: 7px;
	border-right: 1.5px solid currentColor;
	border-top: 1.5px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
}

#new-milmira .mm_bnf_btn.is_wine {
	border: 1px solid var(--mm-wine);
	color: #b66485;
}

#new-milmira .mm_bnf_btn.is_navy {
	border: 1px solid var(--mm-navy);
	color: var(--mm-navy);
}

/* コピー完了トースト */
#new-milmira .mm_toast,
.mm_toast {
	position: fixed;
	left: 50%;
	bottom: 80px;
	transform: translateX(-50%);
	background: rgba(74, 70, 80, .92);
	color: #fff;
	font-size: min(3.57vw, 15px);
	padding: 2.67% 5.87%;
	border-radius: 999px;
	z-index: 9999;
	white-space: nowrap;
}

/* ==================================================
   ORDER
   ================================================== */
#new-milmira .mm_order {
	padding-bottom: 56px;
}

/* --- 枚数タブ --- */
#new-milmira .mm_qty_tab {
	display: flex;
	gap: 12px;
	padding: 0 16px;
	margin-bottom: 20px;
}

#new-milmira .mm_qty_tab li {
	width: calc((100% - 12px) / 2);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 64px;
	border-radius: 6px;
	background: #E7E4EA;
	color: var(--mm-txt-l);
	line-height: 1.35;
	cursor: pointer;
	transition: background .2s, color .2s;
}

#new-milmira .mm_qty_tab .mm_qty_main {
	font-size: min(3.57vw, 15px);
	font-weight: 500;
}

#new-milmira .mm_qty_tab .mm_qty_sub {
	font-size: min(3.1vw, 13px);
}

#new-milmira .mm_qty_tab li:first-child.is_active {
	background: var(--mm-wine);
	color: var(--mm-white);
}

#new-milmira .mm_qty_tab li:last-child.is_active {
	background: var(--mm-navy);
	color: var(--mm-white);
}

/* --- CTA --- */
#new-milmira .mm_cta_wrap {
	padding: 0 16px;
	margin-bottom: 24px;
}

#new-milmira .mm_cta_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	height: 50px;
	margin-bottom: 12px;
	border: 1px solid var(--mm-purple);
	border-radius: 999px;
	background: var(--mm-white);
	color: var(--mm-purple);
	font-size: min(3.57vw, 15px);
	font-weight: 500;
	letter-spacing: .03em;
	transition: opacity .2s;
}

#new-milmira .mm_cta_btn:last-child {
	margin-bottom: 0;
}

#new-milmira .mm_cta_btn:active {
	opacity: .7;
}

#new-milmira .mm_cta_btn::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 7px;
	height: 7px;
	border-right: 1.5px solid currentColor;
	border-top: 1.5px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
}

/* --- カラータブ --- */
#new-milmira .buy_list {
	display: flex;
	padding: 0 16px;
	margin-bottom: 20px;
	gap: 2px;
}

#new-milmira .buy_list li {
	width: 25%;
	text-align: center;
	padding: 10px 2px 8px;
	border-radius: 6px 6px 0 0;
	background: transparent;
	cursor: pointer;
	transition: background .2s;
}

#new-milmira .buy_list li.is_active {
	background: var(--mm-gray-bg);
}

#new-milmira .buy_list li img {
	width: 70%;
	margin: 0 auto 4px;
}

#new-milmira .buy_list li .mm_en {
	display: block;
	font-size: min(3.1vw, 13px);
	font-weight: 500;
	letter-spacing: .01em;
	line-height: 1.3;
}

#new-milmira .buy_list li .mm_ja {
	display: block;
	font-size: min(3.1vw, 13px);
	color: var(--mm-txt-l);
}

#new-milmira .buy_list li:nth-child(1) .mm_en {
	color: #996e51;
}

#new-milmira .buy_list li:nth-child(2) .mm_en {
	color: #c88694;
}

#new-milmira .buy_list li:nth-child(3) .mm_en {
	color: var(--mm-cgray);
}

#new-milmira .buy_list li:nth-child(4) .mm_en {
	color: #639d9a;
}

/* --- カートエリア --- */
#new-milmira .buy_bg {
	margin: 0 16px 24px;
	border: 1px solid var(--mm-line);
	padding: 16px;
}

#new-milmira .buy_content {
	display: none;
}

#new-milmira .buy_content.is_active {
	display: block;
}

/* セット切替で出し分ける要素（共通） */
#new-milmira .buy_img,
#new-milmira .buy_point,
#new-milmira .set_price,
#new-milmira .buy_cart {
	display: none;
}

#new-milmira .buy_img.is_active,
#new-milmira .buy_point.is_active,
#new-milmira .set_price.is_active,
#new-milmira .buy_cart.is_active {
	display: block;
}

#new-milmira .buy_img img {
	width: 100%;
}

#new-milmira .buy_name {
	text-align: center;
	font-size: min(3.57vw, 15px);
	font-weight: 500;
	letter-spacing: .02em;
	margin: 14px 0 10px;
}

#new-milmira .set_price {
	text-align: center;
	font-size: min(3.57vw, 15px);
	line-height: 1.7;
}

#new-milmira .sm_box_name {
	font-size: min(3.1vw, 13px);
	color: var(--mm-txt-l);
	margin-right: 4px;
}

/* 価格の強調（goodsLinkの出力を包括的に） */
#new-milmira .set_price .price,
#new-milmira .set_price strong,
#new-milmira .set_price b {
	color: #b66485;
	font-size: min(4.52vw, 19px);
	font-weight: 700;
}

#new-milmira .buy_point {
	background: var(--mm-gray-bg);
	border-radius: 4px;
	text-align: center;
	font-size: min(3.1vw, 13px);
	color: var(--mm-txt-l);
	padding: 8px 6px;
	margin: 12px 0 16px;
}

#new-milmira .buy_point span {
	display: inline-block;
	margin: 0 4px;
}

/* セット商品アコーディオン */
#new-milmira .buy_btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 46px;
	border: 1px solid var(--mm-line);
	border-radius: 4px;
	background: var(--mm-white);
	font-size: min(3.33vw, 14px);
	letter-spacing: .04em;
	cursor: pointer;
}

#new-milmira .buy_btn::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 1.5px solid var(--mm-txt-l);
	border-bottom: 1.5px solid var(--mm-txt-l);
	transform: translateY(-70%) rotate(45deg);
	transition: transform .3s;
}

#new-milmira .buy_btn.open::after {
	transform: translateY(-30%) rotate(-135deg);
}

#new-milmira .buy_btnwrap {
	display: none;
}

#new-milmira .togglecontent {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 14px 0 4px;
}

#new-milmira .togglecontent span {
	width: calc((100% - 24px) / 4);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	border: 1px solid var(--mm-line);
	border-radius: 4px;
	font-size: min(3.57vw, 15px);
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}

#new-milmira .togglecontent span:active {
	background: var(--mm-purple);
	border-color: var(--mm-purple);
	color: var(--mm-white);
}

#new-milmira .buy_data {
	margin-top: 16px;
}

/* セット数変更トースト */
.appendtext {
	position: fixed;
	left: 50%;
	bottom: 80px;
	transform: translateX(-50%);
	background: rgba(74, 70, 80, .92);
	color: #fff;
	font-size: min(3.57vw, 15px);
	padding: 10px 22px;
	border-radius: 999px;
	z-index: 9999;
	white-space: nowrap;
}

/* ==================================================
   アクセシビリティ
   ================================================== */
#new-milmira a:focus-visible,
#new-milmira button:focus-visible,
#new-milmira .mm_acc_ttl:focus-visible,
#new-milmira .buy_list li:focus-visible,
#new-milmira .mm_qty_tab li:focus-visible {
	outline: 2px solid var(--mm-purple);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {

	#new-milmira *,
	#new-milmira *::before,
	#new-milmira *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}
/* =========================================================
   ORDER（カート）セクション  ※milmira1day 用
   /special/milmira1day/css/sp.css の末尾に追記してください
   ========================================================= */
#new-milmira .order_zone {
	width: 100%;
	max-width: 640px;
	margin: 7% auto 0;
	padding: 0 5%;
	box-sizing: border-box;
}

/* タイトル */
#new-milmira .order_ttl {
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-weight: 300;
	font-size: min(10.48vw, 44px);
	letter-spacing: 0.25em;
	color: #b9a89a;
	margin: 0 0 6%;
}

/* --- タイプ切替（30枚 / 2枚） --- */
#new-milmira .order_type {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	list-style: none;
	margin: 0 auto;
	padding: 0;
}
#new-milmira .order_type_btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 62px;
	padding: 4% 2%;
	border-radius: 8px;
	color: #fff;
	font-weight: 700;
	font-size: min(4.76vw, 20px);
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-align: center;
}
#new-milmira .order_type_btn span {
	display: block;
	margin-top: 2px;
	font-size: min(3.1vw, 13px);
	letter-spacing: 0.06em;
}
#new-milmira .order_type_btn.type_30 {
	background: #6385bb;
}
#new-milmira .order_type_btn.type_2 {
	background: #b66485;
}
#new-milmira .order_type_btn.is_active {
	opacity: 1;
}
#new-milmira .order_type_btn:not(.is_active):hover {
	opacity: 0.7;
}

/* --- カラーチャート --- */
#new-milmira .order_color {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 6px;
	list-style: none;
	margin: 7% auto ;
	padding: 0;
}
#new-milmira .order_color_btn {
    display: block;
    padding: 13% 10% 0%;
    border: solid 1px transparent;
    border-radius: 10px;
    text-align: center;
    cursor: pointer;
    transition: all .25s;
}
#new-milmira .order_color_btn img {
	object-fit: cover;
	margin: 0 auto 6px;
}
#new-milmira .order_color_en {
	display: block;
	font-weight: 700;
	font-size: min(3.33vw, 14px);
	color: #2d2d2d;
	line-height: 1.2;
}
#new-milmira .order_color_jp {
	display: block;
	font-size: min(2.62vw, 11px);
	color: #8a8a8a;
	letter-spacing: 0.02em;
}
#new-milmira .order_color_btn.is_active {
	/*border-color: #d8ccbe;*/
	box-shadow: 4px 6px 22px -10px rgba(120, 110, 100, 0.6);
	background: #fff;
}

/* --- 商品カード本体 --- */
#new-milmira .order_body {
    margin: 0 auto 0;
    padding: 0% 0% 5%;
}
#new-milmira .order_pane {
	display: none;
}
#new-milmira .order_pane.is_active {
	display: block;
}
#new-milmira .order_item {
	display: none;
	background: #fff;
	border: solid 1px #cfc9bf;
	padding: 8% 6% 9%;
	box-sizing: border-box;
}
#new-milmira .order_item.is_active {
	display: block;
}

/* 商品画像 */
#new-milmira .order_img {
	width: 100%;
	margin: 0 auto;
}
#new-milmira .order_img img {
	display: block;
	width: 80%;
	margin: 0 auto;
	height: auto;
}

/* 商品名 */
#new-milmira .order_name {
	margin: 4% auto 0;
	text-align: center;
	font-family: var(--mm-f-en);
	font-size: min(6.5vw, 26px);
	font-weight: 500;
	line-height: 1.2;
}
#new-milmira .order_name span {
	display: block;
	margin-top: 6px;
	font-family: var(--mm-f-body);
	font-size: min(3.3vw, 13px);
	font-weight: 400;
	color: #8a8a8a;
}
#new-milmira .order_item[data-color="brown"] .order_name {
    color: #996e51;
}
#new-milmira .order_item[data-color="pink"] .order_name {
    color: #c88694;
}
#new-milmira .order_item[data-color="gray"] .order_name {
   color: #7688a6;
}
#new-milmira .order_item[data-color="green"] .order_name {
    color: #639d9a;
}

/* 価格 */
#new-milmira .order_pricewrap {
	position: relative;
	margin: 4% auto 0;
	min-height: 3.2em;
}
#new-milmira .order_price {
	display: none;
	text-align: center;
	font-size: min(6.5vw, 26px);
	font-weight: 700;
	color: #fe5757;
	letter-spacing: .05em;
	line-height: 1.35;
}
#new-milmira .order_price.is_active {
	display: block;
}
#new-milmira .order_boxname {
	display: contents;
	font-size: min(3.1vw, 13px);
	font-weight: 400;
	color: #24272a;
	letter-spacing: 0;
}

/* ポイント・送料 */
#new-milmira .order_pointwrap {
	margin: 5% auto 0;
}
#new-milmira .order_point {
	display: none;
	max-width: 92%;
	margin: 0 auto;
	padding: 8px 8px;
	border: solid 1px #24272a;
	text-align: center;
	font-size: min(3.81vw, 16px);
	font-weight: 500;
	letter-spacing: .1em;
}
#new-milmira .order_point.is_active {
	display: block;
}
#new-milmira .order_point span {
	display: inline-block;
	white-space: nowrap;
}
#new-milmira .order_point span + span {
	margin-left: .6em;
}

/* セット選択トグル */
#new-milmira .order_setbtn {
	position: relative;
	margin: 8% auto 0;
	padding: 4.5% 0;
	max-width: 610px;
	width: 100%;
	border: solid 1px #524f4a;
	background: #fff;
	text-align: center;
	font-size: min(4.05vw, 17px);
	font-weight: 500;
	letter-spacing: 0.12em;
	cursor: pointer;
}
#new-milmira .order_setbtn::after {
	content: "";
	position: absolute;
	top: 45%;
	right: 18px;
	width: 8px;
	height: 8px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: translateY(-50%) rotate(135deg);
	transition: all .3s;
}
#new-milmira .order_setbtn.open::after {
	top: 55%;
	transform: translateY(-50%) rotate(315deg);
}
#new-milmira .order_setwrap {
	display: none;
	margin: 0 auto;
	padding: 6% 5%;
	background: #f6f6f6;
}
#new-milmira .order_setlist {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
}
#new-milmira .order_setlist span {
display: block;
    width: calc(50% - 10px);
    padding: 2% 0;
    border: solid 1px #524f4a;
    background: #fff;
    text-align: center;
    font-size: min(3.81vw, 16px);
    color: #24272a;
    cursor: pointer;
    transition: all .2s;
}
#new-milmira .order_setlist span:first-child {
	width: 100%;
}
#new-milmira .order_setlist span.is_active {
	background: #524f4a;
	color: #fff;
}

/* カート */
#new-milmira .order_cartwrap {
	position: relative;
	margin: 8% auto 0;
}
#new-milmira .order_cart {
	display: none;
}
#new-milmira .order_cart.is_active {
	display: block;
}


/* BUY
--------------------------------------- */
#new-milmira .buy_btnwrap {
	display: none;
	position: relative;
	margin-bottom: 40px;
	max-width: 610px;
	width: 80%;
	margin: 0 auto;
	padding: 8% 0;
	background: #f6f6f6;
}

#new-milmira .buy_btn {
	display: block;
	position: relative;
	max-width: 610px;
	width: 80%;
	height: auto;
	margin: 10% auto 0;
	padding: 4% 0;
	border: solid 1px #524f4a;
	background: #fff;
	font-weight: 500;
	font-size: min(4.29vw, 18px);
	letter-spacing: 0.15em;
	text-align: center;
	cursor: pointer;
}

#new-milmira .buy_btn::after {
	position: absolute;
	top: 45%;
	right: 20px;
	width: 8px;
	height: 8px;
	transform: translate(0, -50%) rotate(135deg);
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	content: "";
	transition: all 0.3s;
}

#new-milmira .buy_btn:hover {
	opacity: 1;
}

#new-milmira .buy_btn.open::after {
	-webkit-transform: translate(0, -50%) rotate(315deg);
	top: 55%;
	transform: translate(0, -50%) rotate(315deg);
}

#new-milmira .togglecontent {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 540px;
	width: 90%;
	margin: 0 auto;
	padding: 0;
}

#new-milmira .togglecontent span {
	display: block;
	width: calc(50% - 13px / 2);
	color: #24272a;
	background: #fff;
	font-size: min(3.81vw, 16px);
	color: #24272a;
	text-align: center;
	padding: 5% 0;
	border: solid 1px #524f4a;
	margin: 20px 0 0;
	cursor: pointer;
}

#new-milmira .togglecontent span:first-child {
	display: block;
	max-width: 540px;
	width: 100%;
	background: #fff;
	margin: 0 auto;
}

/* スペック
--------------------------------------- */
#new-milmira .qieto_box_wrap {
	display: block;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 5% auto 0;
	width: 90%;
	justify-content: center;
}

#new-milmira .goods_inner {
	margin: 0 auto;
	max-width: 500px;
	width: 100%;
}

#new-milmira .goods_flex {
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
}

#new-milmira .goods_data_title_blank {
	width: 100%;
}

#new-milmira .goods_data_title {
	max-width: 240px;
	width: 48%;
	color: #fff;
	font-size: min(4.29vw, 18px);
	margin: 0;
	padding: 6px 0;
	text-align: center;
	color: #fff;
	background: #848080;
	font-weight: 400;
}

#new-milmira .goods_flex:last-of-type {
	border-bottom: none;
}

#new-milmira .goods_flex .th {
	width: 100%;
	padding: 10% 0 0;
	font-size: min(4.29vw, 18px);
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	line-height: 1;
}

#new-milmira .goods_flex .th.bc {
	width: auto;
	padding: 8% 0 0;
}

#new-milmira .goods_flex .td_wrap {
	display: flex;
	justify-content: space-between;
	margin: 3% auto 0;
	max-width: 100%;
	width: 100%;
}

#new-milmira .goods_flex .td {
	max-width: 240px;
	width: 48%;
	font-size: min(1.19vw, 5px);
	padding: 0;
}

#new-milmira .goods_flex .r_eye,
#new-milmira .goods_flex .l_eye {
	font-size: min(5.33vw, 22.4px);
}

#new-milmira .goods_flex .goods_select_wrap {
	position: relative;
	z-index: 2;
	border-radius: 0;
	background: transparent;
	width: auto;
	margin: 5px 0;
	border: solid 1px #524f4a;
}

#new-milmira .goods_flex .goods_select_wrap::after {
	display: none;
}

#new-milmira .goods_flex select {
	height: 40px;
	background: #fff;
	text-align: center;
	border-radius: 0;
	width: 100%;
	padding: 0 3%;
	color: #000000;
	font-size: min(4.29vw, 18px);
	letter-spacing: 0.02em;
	appearance: none;
	outline: 0;
	z-index: 1;
	border: none;
}

#new-milmira .goods_flex select::-ms-expand {
	display: none;
}

#new-milmira .goods_flex select.err_msg {
	background: #fff2f2;
	color: #f54141;
}

#new-milmira .goods_flex .goods_data_value {
	text-align: center;
	display: block;
	padding: 10% 5%;
	line-height: 1;
	font-size: min(4.29vw, 18px);
	letter-spacing: 0.02em;
	background: #fff;
}

#new-milmira .goods_err_msg {
	color: #f54141;
	display: block;
	font-size: min(5.33vw, 22.4px);
}

#new-milmira .goods_btn_wrap {
	align-items: center;
	display: flex;
	justify-content: space-between;
	position: relative;
}

#new-milmira .goods_cart_btn {
	margin: 0 auto;
	width: 100%;
}

#new-milmira .org-btn {
	background: #888888;
	border: none;
	border-radius: 0;
	color: #fff;
	display: block;
	font-size: min(3.57vw, 15px);
	font-weight: 400;
	height: 50px;
	margin: 5% auto 8%;
	text-align: center;
	width: 100%;
}
#new-milmira .negai_zone video {
    display: block;
    width: 100%;
    height: auto;
}
/* =========================================================
   「お悩み」「使用シーン」「2色セット」最終調整用
   ※sp.cssの一番下に追記してください
   ========================================================= */

/* --- 1. お悩み --- */
#new-milmira .mm_trouble {
    padding: 0 5% 0; 
}
#new-milmira .mm_trouble_ttl {
    margin-bottom: 3%;
}
#new-milmira .mm_trouble_ttl img {
    margin: 0 auto;
}
#new-milmira .mm_trouble_list {
    margin: 0 auto;
    display: block;
}

#new-milmira .mm_trouble_list li::before {
    left: 0;
    top: 0.45em; 
    width: 0.6em;
    height: 0.35em;
}

/* --- 2. 使用シーンから選ぶ --- */
#new-milmira .mm_scene_list li {
    padding: 6% 0;
}
#new-milmira .mm_scene_body {
    align-items: center; 
    gap: 4%;
}
#new-milmira .mm_scene_txt {
    width: 52%; 
    margin: 0 auto 4%;	
    flex: none;
    text-align: left;
}
#new-milmira .mm_scene_img {
    width: 44%; 
    flex: none;
}
#new-milmira .mm_scene_txt .mm_color_name .mm_en {
    font-size: min(7.8vw, 32px);
    line-height: 1.1;
    margin-bottom: 2%;
}
#new-milmira .mm_scene_txt .mm_color_name .mm_ja {
    font-size: min(4vw, 15px); 
    margin-bottom: 5%; 
}
#new-milmira .mm_tag {
    font-size: min(3vw, 13px);
    padding: 2% 7%;
    border-radius: 999px;	
    letter-spacing: .01em;
    white-space: nowrap;	
    margin-bottom: 5%;
    display: inline-block;
}
#new-milmira .mm_scene_txt p {
    font-size: min(3vw, 14px);
    line-height: 1.6;
    margin-top: 0;
}

/* --- 3. おすすめ2色セット --- */
#new-milmira .mm_pc_block {
    margin-bottom: 10%;
}
#new-milmira .mm_pc_head {
    font-size: min(4.5vw, 17px);
    padding: 2% 0;
    font-weight: bold;
    margin-bottom: 6%;
}
#new-milmira .mm_pair {
    gap: 12%;
}
#new-milmira .mm_pair li {
    width: 48%;
    text-align: left; 
}
#new-milmira .mm_pair .mm_color_name .mm_en {
    font-size: min(6vw, 28px);
    line-height: 1.1;
    margin-bottom: 0%;
    font-weight: bold;
    letter-spacing: 0;
}
#new-milmira .mm_pair .mm_color_name .mm_ja {
    font-size: min(3.8vw, 14px); 
}
#new-milmira .mm_pair_img {
    margin-top: 4%;
    /*width: 85%; */
}
#new-milmira .mm_pc_desc {
    font-size: min(3.6vw, 16px);
    margin-top: 6%;
    letter-spacing: 0;
}
#new-milmira .order_coupon{

}

#new-milmira .order_coupon li{
	width: 80%;
    margin: 0px auto;
    padding: 5% 0% 0;
}
/* ==================================================
   ポップアップ（モーダル）
   ================================================== */
#new-milmira .mm_modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
}
#new-milmira .mm_modal_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    cursor: pointer;
}
#new-milmira .mm_modal_content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 500px;
    max-height: 90vh; /* 画面高さの90%以内に収める */
    background: #fff;
    border-radius: 8px;
    overflow-y: auto; /* 縦スクロールを許可 */
    -webkit-overflow-scrolling: touch;
}
#new-milmira .mm_modal_close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 50%;
    font-size: 24px;
    color: #4A4650;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    z-index: 10;
}
#new-milmira .mm_modal_img {
    width: 100%;
    height: auto;
    display: block;
}
/* モーダル表示中の背景スクロール防止用クラス */
body.is_modal_open {
    overflow: hidden;
}

/* デフォルト（Webサイト用）ではアプリ限定バッジを非表示 */
#new-milmira .app_limited_badge {
    display: none;
}

#new-milmira .app_limited_badge {
    display: none; /* デフォルトは非表示（JSでアプリ判定時に表示） */
    position: absolute;
    top: 10px;
    right: 10px;
    width: 72px;
    height: 72px;
    background: linear-gradient(135deg, #A64268 0%, #B45077 100%);
    color: #FFFFFF;
    border-radius: 50%;
    text-align: center;
    font-size: min(2.62vw, 11px);
    font-weight: 700;
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(166, 66, 104, 0.3);
    z-index: 5;
}

/* 30枚入りの各商品カード（order_item）を相対配置にしてバッジの基準位置にする */
#new-milmira .order_pane[data-type="30"] .order_item {
    position: relative;
}


@media screen and (max-width: 959px) {
	#new-milmira .buy_data {
		position: relative;
		max-width: 980px;
		margin: 10% auto 0;
		width: 90%;
		background: #fff;
		border: solid 1px #524f4a;
	}

	#new-milmira .buy_cart {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: 0;
		width: 100%;
		opacity: 0;
		transition: all .3s;
	}

	#new-milmira .buy_cart.is_active {
		position: relative;
		z-index: 2;
		opacity: 1;
		pointer-events: auto;
	}

	#new-milmira .buy_name {
		margin: 5% auto 0;
		text-align: center;
		color: #24272a;
		font-size: 13px;
		letter-spacing: .13em;
	}

	#new-milmira .sm_cellbox {
		font-size: 25px;
		font-weight: 700;
		color: #fe5757;
		letter-spacing: .05em;
		text-align: center;
		margin-top: 15px;
	}

	#new-milmira .sm_box_name {
		font-size: 13px;
		color: #24272a;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 400;
	}

	#new-milmira .sm_devide {
		font-size: 23px;
		font-weight: bold;
		color: #fe5757;
		font-weight: 400;
	}

	#new-milmira .sm_color {
		color: #dbb03f;
		font-weight: 500;
	}

	#new-milmira .buy_pointwrap {
		display: flex;
		justify-content: center;
		position: relative;
	}

	#new-milmira .buy_point {
		display: inline-block;
		max-width: 100%;
		width: auto;
		margin: 10px auto 0;
		padding: 5px 8px;
		font-size: 1.1rem;
		letter-spacing: .18em;
		font-weight: 500;
		border: solid 1px #24272a;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		opacity: 0;
	}

	#new-milmira .buy_point.is_active {
		position: relative;
		z-index: 2;
		opacity: 1;
		pointer-events: auto;
	}

	#new-milmira .buy_point span:first-of-type {
		margin: 0;
		white-space: nowrap;
	}

	#new-milmira .buy_point span:nth-child(2) {
		margin: 0;
		white-space: nowrap;
	}
	}

/* データ部分
--------------------------------------- */
#new-milmira .goods_data .goods_data_title {
	padding-bottom: 6px;
	border-bottom: 1px solid #D5D5D5;
	font-weight: 500;
	font-size: 1.45rem;
}

#new-milmira .goods_data .goods_data_content {
	margin-top: 20px;
}

#new-milmira .goods_input_form {
	width: 100%;
	margin-top: 15px;
}

#new-milmira .goods_input_form th {
	width: 60px;
	padding-bottom: 10px;
	font-weight: normal;
	font-size: 1.4rem;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}

#new-milmira .goods_input_form td {
	padding-bottom: 15px;
	padding-left: 10px;
	font-size: 1.3rem;
}

#new-milmira .goods_input_form .r_eye,
#new-milmira .goods_input_form .l_eye {
	font-size: 1.4rem;
}

#new-milmira .goods_input_form .goods_select_wrap {
	z-index: 2;
	position: relative;
}

#new-milmira .goods_input_form .goods_select_wrap::after {
	-webkit-transform: translateY(-50%) rotate(45deg);
	z-index: 1;
	position: absolute;
	top: 50%;
	right: 10px;
	width: 6px;
	height: 6px;
	transform: translateY(-50%) rotate(45deg);
	border-right: 1px solid #b7b7b7;
	border-bottom: 1px solid #b7b7b7;
	content: "";
}

#new-milmira .goods_input_form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	z-index: 1;
	width: 100%;
	height: 48px;
	padding: 0 12px;
	border: solid 1px #4f4f4f;
	outline: 0;
	background: transparent;
	color: #4f4f4f;
	font-size: 1.3rem;
	letter-spacing: 0.02em;
}

#new-milmira .goods_input_form select::-ms-expand {
	display: none;
}

#new-milmira .goods_input_form .goods_data_value {
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	height: 48px;
	height: 50px;
	padding: 0 12px;
	background-color: #F4F4F4;
	font-size: 1.3rem;
	letter-spacing: 0.02em;
}

#new-milmira .goods_title {
	margin-bottom: 20px;
	font-size: 1.8rem;
}

#new-milmira .cart {
	max-width: 300px;
	margin: 0 auto 20px;
}

#new-milmira .btn_cart241 {
	width: 100%;
	padding: 15px 0;
	background: #4f4f4f;
	color: #fff;
	font-size: 1.4rem;
	border: none;
	appearance: none;
}

/* BUY
--------------------------------------- */
#new-milmira .buy_btn {
	background: #fff;
	border: solid 1px #524f4a;
	cursor: pointer;
	display: block;
	font-size: min(4.2vw, 20px);
	font-weight: 500;
	height: auto;
	letter-spacing: 0.15em;
	margin: 5% auto 0;
	max-width: 610px;
	padding: 2% 0;
	position: relative;
	text-align: center;
	width: 90%;
}

#new-milmira .buy_btn::after {
	border-right: 1px solid #000;
	border-top: 1px solid #000;
	content: "";
	height: 8px;
	position: absolute;
	right: 20px;
	top: 45%;
	-webkit-transform: translate(0, -50%) rotate(135deg);
	transform: translate(0, -50%) rotate(135deg);
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 8px;
}

#new-milmira .buy_btn:hover {
	opacity: 1;
}

#new-milmira .buy_btn.open::after {
	top: 55%;
	-webkit-transform: translate(0, -50%) rotate(315deg);
	transform: translate(0, -50%) rotate(315deg);
}

#new-milmira .togglecontent {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 540px;
	padding: 0;
	width: 90%;
}

#new-milmira .togglecontent span {
	background: #fff;
	border: solid 1px #524f4a;
	color: #24272a;
	color: #24272a;
	cursor: pointer;
	display: block;
	font-size: min(3.5vw, 16px);
	margin: 20px 0 0;
	padding: 5% 0;
	text-align: center;
	width: calc(50% - 6.5px);
}

#new-milmira .togglecontent span:first-child {
	background: #fff;
	display: block;
	margin: 0 auto;
	max-width: 540px;
	width: 100%;
}

#new-milmira .buy_btnwrap {
	background: #f8f5f1;
	display: none;
	margin: 0 auto;
	margin-bottom: 0;
	max-width: 610px;
	padding: 8% 0 0;
	position: relative;
	width: auto;
}

#new-milmira .bnr_cart {
	display: block;
	margin: 0 auto 3%;
	max-width: 610px;
	width: auto;
}

#new-milmira .area_txt {
	font-size: min(3.5vw, 22px);
	font-weight: normal;
	letter-spacing: 1px;
	line-height: 2;
	margin-top: 2%;
}

#new-milmira .area_txt+.area_txt {
	margin-top: 1%;
}

#new-milmira .concept_img {
	margin-top: 10%;
}
.qui_form_select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    z-index: 1;
    width: 26%;
    text-align: center;
    height: 50px;
    padding: 0 20px;
    border: none;
    outline: 0;
    background: #f4f4f4;
    color: #4f4f4f;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    margin-left: 0%;
}	

/* order タイプ切替：未選択を薄く */
#new-milmira .order_type_btn:not(.is_active) {
    opacity: 0.4;
}
#new-milmira .order_type_btn.is_active {
    opacity: 1;
}