/* 元の配置・配色を保ち、日本語の行高と文字量に合わせる。 */
:root { --text-font: 'Yu Gothic', 'Meiryo', sans-serif; --title-font: 'Yu Gothic', 'Meiryo', sans-serif; --hero-font: 'Yu Gothic', 'Meiryo', sans-serif; }
body {font-feature-settings: 'palt';} p {line-height:1.8;} button,input {font-family:var(--text-font);} button {cursor:pointer;}
h1,h2,h3,a,span {line-height:1.2;} .Hero_Heading {font-size:clamp(70px,8.4vw,155px);line-height:1.12;white-space:pre-line;letter-spacing:-.045em;font-weight:600;}
.Hero_Heading_wrapper {width:80%;} .Hero_Float {bottom:20%;left:99%;} .Hero_Float_Inner {font-size:1.5rem;color:var(--dark);white-space:nowrap;}
h2.SectionTitle {font-size:clamp(40px,5.4vw,88px);line-height:1.23;white-space:pre-line;letter-spacing:-.045em;}
.Title_Text_Content {max-width:720px;} .Product_Item_Title {line-height:1.5;font-size:1.7rem;min-height:2.6em;} .Product_Item_Ingredient {font-size:1rem;}
.Product_Item_Image {aspect-ratio:4/5;} .Product_Item_Second_Image img {transform:scale(1.09);object-position:45% 65%;}
.Collection_Browser_Tab_Button span {line-height:1.4;} .Collection_Browser_Product_Page {min-height:40vh;}
.Newsletter_Container h2 {font-size:clamp(40px,5.4vw,88px);line-height:1.3;} .Newsletter__Inner input {min-width:0;} .Newsletter__Inner button{white-space:nowrap;}
 .Collections_CTA_Text p{line-height:1.8;}
.Miel_Note {font-family:var(--title-font);font-size:1.45rem;line-height:1.6;display:block; padding-top:20px;}
.Footer_Big_Logo_Text {font-size:25vw!important;line-height:.9;} .Footer_Infos p {line-height:1.8;} .Footer_Bottom {gap:1rem;} .Footer_Copy span {font-size:.9rem;}
.Menu_Drawer .Logo img {content:url('./logo-light.svg');} .Menu_Drawer_Link {font-size:3.8vh;line-height:1.3;}
.content-ready .pageload {display:none;} .pagehide{display:none!important;}
.motion-off .Window_Image_Limit {width:100%!important;height:100%!important;} .motion-off .Window_Image_Container img {transform:none!important;}

.overlay.open {pointer-events:auto;} .Cart_Drawer_Content {max-height:55vh!important;} .message-checkout {min-height:auto;}
.Miel_Cart_Row {display:grid;grid-template-columns:75px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid #11222920;}
.Miel_Cart_Row img {width:75px;height:94px;object-fit:cover;border-radius:12px;} .Miel_Cart_Row h3 {margin:0 0 8px;font-size:1rem;} .Miel_Cart_Row p {margin:0 0 8px;} .Miel_Cart_Row button {border:0;background:transparent;text-decoration:underline;color:var(--blue);}
.Miel_Cart_Controls {display:flex;align-items:center;gap:12px;} .Miel_Cart_Controls button {font-size:20px;text-decoration:none;}
.Miel_Empty {padding:30px 0;line-height:1.8;} .Cart_Checkout_Button[disabled]{opacity:.45;cursor:default;}
.Miel_Dialog {border:0;border-radius:28px;background:var(--beige);color:var(--dark);padding:32px;max-width:650px;width:calc(100% - 32px);max-height:90vh;overflow:auto;} .Miel_Dialog::backdrop{background:#11222999;}
.Miel_Dialog h2{font-size:1.6rem;line-height:1.5;margin-top:0;} .Miel_Dialog p,.Miel_Dialog li {line-height:1.8;} .Miel_Dialog ul{padding-left:18px;list-style:disc;} .Miel_Dialog label {display:block;line-height:1.5;margin:15px 0 8px;}
.Miel_Dialog input,.Miel_Dialog textarea {width:100%;padding:12px;border:1px solid var(--blue);border-radius:12px;background:white;font-size:1rem;} .Miel_Dialog button {border:0;border-radius:100px;padding:14px 24px;line-height:1.3;background:var(--blue);color:white;}
.Miel_Dialog .Miel_Close {float:right;background:transparent;color:var(--dark);padding:0 8px;font-size:26px;} .Miel_Dialog .Miel_Action {margin-top:20px;background:var(--pink);color:var(--dark);} .Miel_Dialog img {width:100%;max-height:300px;object-fit:cover;border-radius:18px;}
.Miel_Search_Message{line-height:1.7;padding-top:12px;} .Miel_Search_Result{display:block;padding:8px 0;text-decoration:underline!important;}
@media(max-width:768px){.Hero_Heading {font-size:13vw;line-height:1.18;}.Hero_Heading_wrapper{width:100%;}.Hero_Float_Inner {padding:1.3rem;font-size:1.25rem;} h2.SectionTitle {font-size:2.8rem;}.Product_Item_Title {font-size:1.7rem;min-height:0;}.SectionPadded {padding-top:40px;padding-bottom:40px;}.Newsletter_Container h2 {font-size:2.8rem;}.Footer_Big_Logo_Text{font-size:30vw!important;}.Footer_Bottom{flex-wrap:wrap;}.Miel_Dialog{padding:24px;}.Collection_Browser_Tab_Button span{padding:.7rem 1rem;font-size:1.1rem;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;} *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;} .pageload{display:none!important;} .Window_Image_Limit{width:100%!important;height:100%!important;} .Window_Image_Container img{transform:none!important;}}

h1.Hero_Heading,h2.SectionTitle,.Newsletter_Container h2 {font-family:"Yu Gothic","Meiryo",system-ui,sans-serif!important;font-weight:900!important;line-height:1.15;}

.Collections_CTA_Title_SVG text {font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.2px;}

/* 英字の見出しはシステムの太いサンセリフで、本文は読みやすい日本語を維持。 */
:root {--pink:#d8a8b3;--hero-font:'Arial Black',Impact,Arial,sans-serif;--title-font:'Arial Black',Impact,Arial,'Yu Gothic','Meiryo',sans-serif;--anim-font:Arial,Helvetica,'Yu Gothic','Meiryo',sans-serif;}
h1.Hero_Heading {font-family:var(--hero-font)!important;font-weight:900!important;font-size:clamp(72px,10.3vw,198px);line-height:.98!important;letter-spacing:-.055em;white-space:pre-line;}
h2.SectionTitle,.Newsletter_Container h2 {font-family:var(--title-font)!important;font-weight:900!important;line-height:1.04!important;letter-spacing:-.045em;}
.Product_Item_Title {font-family:'Yu Gothic','Meiryo',sans-serif;font-weight:600;}
.main-menu a,.Menu_Drawer_Link,.Footer_Menu a,.Collection_Browser_Tab_Button,.Product_Item_Submit,.Collection_Browser_Bottom a,.Collections_CTA_Button a {font-family:var(--title-font);}
.Hero_Float_Inner,.Product_Item_Ingredient,.Collections_CTA_Button a {color:var(--dark);}
.Collection_Browser_Tab_Button[data-id='301289996485']:hover span,.Collection_Browser_Tab_Button[data-id='301289996485'].Selected span {color:var(--dark)!important;}
/* 写真をアーチの内側へ収める。透過ケーキに切り替わっても同じ枠を使う。 */
.Collection_Display_Item {overflow:hidden;isolation:isolate;}
.Product_Item_Image {overflow:hidden;isolation:isolate;background:var(--beige);border-radius:50% 50% 1.5rem 1.5rem;clip-path:inset(0 round 50% 50% 1.5rem 1.5rem);}
.Product_Item_Image>img,.Product_Item_Second_Image img {width:100%;height:100%;object-fit:contain!important;object-position:center!important;padding:1rem;}
.Product_Item_Second_Image {border-radius:inherit;overflow:hidden;background:var(--beige);}
.Product_Item_Second_Image img {transform:scale(1.035);transform-origin:center;}
.Product_Item_Image img[src*='cake-'] {filter:drop-shadow(0 7px 6px #11222912);}
.Arches_Display_Container .Window_Image_Container:has(img[src*='cake-']),.Collections_CTA_Image .Window_Image_Container:has(img[src*='cake-']) {background:var(--beige);}
.Arches_Display_Container img[src*='cake-'],.Collections_CTA_Image img[src*='cake-'] {object-fit:contain!important;object-position:center!important;padding:1rem;filter:drop-shadow(0 7px 6px #11222912);}
.Miel_Cart_Row img[src*='cake-'],.Miel_Dialog img[src*='cake-'] {object-fit:contain;background:var(--beige);}
@media(max-width:768px){h1.Hero_Heading {font-size:15vw;line-height:1!important;letter-spacing:-.055em;}h2.SectionTitle,.Newsletter_Container h2{font-size:2.65rem;}.Hero_Float_Inner{font-family:var(--title-font);font-size:1.3rem;}.Collection_Browser_Tab_Button span{font-size:1.15rem;padding:.8rem 1.1rem;}.Product_Item_Image>img,.Product_Item_Second_Image img{padding:.9rem;}.Collections_CTA_Button a{font-size:1.3rem;}}

/* 透過したケーキ本体に余白を持たせ、正面・ホバーとも外縁へ重ならない大きさにする。 */
.Product_Item_Image>img[src*='cake-'],.Product_Item_Second_Image img[src*='cake-'] {position:absolute;left:50%;top:50%;width:84%;height:84%;padding:0;transform:translate(-50%,-50%);}
.Product_Item_Second_Image img[src*='cake-'] {transform:translate(-50%,-50%) scale(1.035);}
.Arches_Display_Container img[src*='cake-'],.Collections_CTA_Image img[src*='cake-'] {padding:10%;}

/* カード列の幅は画像の固有寸法に依存させず、画面幅いっぱいの3列を使う。 */
.Collection_Display {width:100%;max-width:none;gap:2.75%;}
.Collection_Display_Item {flex:0 0 31.5%;width:31.5%;min-width:0;padding:clamp(22px,1.6vw,32px);}
.Collection_Display_Item .Product_Item_Image {width:100%;aspect-ratio:4/5;}
.Collection_Display_Item .Product_Item_Image>img[src*='cake-'],.Collection_Display_Item .Product_Item_Second_Image img[src*='cake-'] {width:96%;height:96%;}
.Product_Item_Title {word-break:keep-all;overflow-wrap:normal;line-break:strict;line-height:1.4;}
.Product_Item_Content {gap:16px;flex-wrap:nowrap;}
.Product_Item_Content .Infos {flex:1 1 auto;min-width:max-content;}
.Product_Item_Content .Price {white-space:nowrap;line-height:1.2;}
.Quantity_Selector {flex:0 0 auto;}
.Product_Item_Submit {white-space:nowrap;font-size:1.45rem;}
.Product_Item .Format,.Product_Item .Weight {white-space:nowrap;}
.Collections_CTA_Image img[src*='cake-'] {padding:5%;transform:scale(1.06);}
@media(min-width:769px) and (max-width:1100px){.Collection_Display_Item {padding:16px;}.Collection_Display_Item .Product_Item_Title{font-size:1.25rem;}.Collection_Display_Item .Product_Item_Submit{font-size:1.1rem;padding-left:.5rem;padding-right:.5rem;}.Collection_Display_Item .Product_Item_Content{gap:8px;}.Collection_Display_Item .Quantity_Selector{font-size:1rem;}.Collection_Display_Item .Product_Item_Content .Price{font-size:1.05rem;}}
@media(max-width:768px){.Collection_Display{gap:2rem;}.Collection_Display_Item{flex:0 0 auto;width:100%;padding:24px;}.Product_Item_Title{font-size:1.55rem;}.Product_Item_Submit{font-size:1.35rem;}}

@media(min-width:769px) and (max-width:1100px){.Quantity_Selector_Button{width:2rem;font-size:1.8rem;}.Quantity_Selector input{width:3rem;margin-left:0;font-size:1.5rem;}.Collection_Display_Item .Quantity_Selector_Button{width:1.8rem;font-size:1.7rem;}.Collection_Display_Item .Quantity_Selector input{width:1.8rem;margin-left:0;font-size:1.25rem;}}

/* 落ち着いたローズの上は濃い文字色でそろえる。 */
.Hero_Float_Inner span,.Collections_CTA_Button a span {color:var(--dark)!important;}

.Hero_Float_Inner,.Hero_Float_Inner::before,.Hero_Float_Inner::after {color:var(--dark)!important;}

/* ナビは英字の字間を整え、見出しとは異なるすっきりした太字にする。 */
.main-menu a {font-family:Arial,Helvetica,system-ui,sans-serif!important;font-weight:800!important;font-size:clamp(14px,.95vw,17px);letter-spacing:.085em;line-height:1.2;white-space:nowrap;}
.Menu_Drawer_Link {font-family:"Arial Black",Arial,Helvetica,sans-serif!important;font-weight:900!important;letter-spacing:-.025em;line-height:1.18;}
@media(max-width:768px){.Menu_Drawer_Link {font-size:clamp(28px,9vw,42px);}}
