@charset "utf-8";
/* Base styles for the BtoB Morinaga Milk site. */
:root{
  --mmi-navy:#0a3066;
  --mmi-red:#e60012;
  --mmi-red-dark:#c90010;
  --mmi-beige:#fffaf0;
  --mmi-text:#333;
  --mmi-border:#ddd;
  --mmi-card-border:#d6e1ee;
  --mmi-placeholder:#c6c6c6;
  --mmi-input-border:#f0f0f0;
  --mmi-focus-ring:2px solid var(--mmi-navy);
  --mmi-hover-opacity:.55;
  --mmi-transition-fast:.2s ease;
  --mmi-content-width:1120px;
  --mmi-header-pc-offset:116px;
  --mmi-header-sp-height:60px;
  --mmi-desktop-scale:1;
  --mmi-wave-beige:url("/common/img/top/top-bg-beige.png");
  --mmi-wave-white:url("/common/img/top/top-bg-white.png");
  --mmi-wave-strip-beige:url("/common/img/top/top-bg-beige-strip.png");
  --mmi-wave-strip-white:url("/common/img/top/top-bg-white-strip.png");
  --mmi-section-edge-beige:url("/common/img/mmi-section-edge-fade-beige.jpg");
  --mmi-section-edge-white:url("/common/img/mmi-section-edge-fade-white.png");
  --mmi-search-icon:url("/common/img/top/icn-search.png");
  --mmi-check-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 14' fill='none'%3E%3Cpath d='M2 7.2L6.8 12L16 2' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --mmi-table-line:#bae4ff;
  --mmi-table-head:#e3f4ff;
  --mmi-table-group:#f4f9fd;
  --mmi-chevron-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 28' fill='none'%3E%3Cpath d='M2.5 2.5L13 14L2.5 25.5' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --mmi-chevron-down-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12' fill='none'%3E%3Cpath d='M2 2.2L10 10L18 2.2' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@font-face{
  font-family:"noto";
  src:url("/common/fonts/NotoSansCJKjp-Medium.woff") format("woff");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
html,body{
  min-width:320px;
  margin:0;
  padding:0;
}
body{
  overflow-x:hidden;
  color:var(--mmi-text);
  font-family:"Noto Sans JP", noto, Meiryo, "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
}

/*
 * Compact desktop viewport:
 * 1280px = 80%, 1600px = 100%, with 80% held down to 1024px.
 */
html.mmi-compact-desktop #mmi-wrapper{
  zoom:var(--mmi-desktop-scale);
}
#mmi-wrapper,
#mmi-container,
#mmi-header,
#mmi-footer{
  box-sizing:border-box;
}
#mmi-header *,
#mmi-footer *,
#mmi-container *{
  box-sizing:border-box;
}
#mmi-container article,
#mmi-container aside,
#mmi-container details,
#mmi-container figcaption,
#mmi-container figure,
#mmi-container footer,
#mmi-container header,
#mmi-container main,
#mmi-container nav,
#mmi-container section,
#mmi-header nav,
#mmi-footer nav{
  display:block;
}
#mmi-header ul,
#mmi-footer ul,
#mmi-container ul{
  margin:0;
  padding:0;
  list-style:none;
}
#mmi-container h1,
#mmi-container h2,
#mmi-container h3,
#mmi-container h4,
#mmi-container h5,
#mmi-container h6,
#mmi-container p,
#mmi-container figure,
#mmi-container dl,
#mmi-container dd{
  margin:0;
}
#mmi-header img,
#mmi-footer img,
#mmi-container img{
  border:0;
  max-width:100%;
  height:auto;
}
#mmi-container table{
  border-collapse:collapse;
  border-spacing:0;
}
#mmi-header a,
#mmi-footer a,
#mmi-container a{
  color:inherit;
  text-decoration:none;
}
#mmi-header a:focus:not(:focus-visible),
#mmi-header button:focus:not(:focus-visible),
#mmi-header label:focus:not(:focus-visible),
#mmi-footer a:focus:not(:focus-visible),
#mmi-footer button:focus:not(:focus-visible),
#mmi-container a:focus:not(:focus-visible),
#mmi-container button:focus:not(:focus-visible),
#mmi-container input:focus:not(:focus-visible),
#mmi-container select:focus:not(:focus-visible),
#mmi-container textarea:focus:not(:focus-visible){
  outline:none !important;
}
html.mmi-keyboard-navigation .mmi-keyboard-focus{
  outline:var(--mmi-focus-ring) !important;
  outline-offset:3px !important;
}
#mmi-footer a:visited,
#mmi-container a:visited{
  /* color:inherit; */
}
#mmi-container button,
#mmi-container input,
#mmi-container select,
#mmi-container textarea,
#mmi-header button,
#mmi-header input{
  font:inherit;
}
#mmi-container button,
#mmi-header button{
  cursor:pointer;
}
#mmi-container a:hover img,
#mmi-container button:hover img{
  opacity:1;
}
#mmi-container{
  position:relative;
  z-index:1;
  margin-top:0;
  color:var(--mmi-text);
  font-size:15px;
  line-height:1.75;
  /* font-feature-settings:"palt"; */
}
#mmi-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  text-align:left;
}
#mmi-header .mmi-toggle-check{
  position:absolute;
  left:0;
  top:0;
  width:0;
  height:0;
  overflow:hidden;
  visibility:hidden;
}
.pc_display{display:block;}
.sp_display{display:none;}
@media screen and (max-width:767px){
  .pc_display{display:none;}
  .sp_display{display:block;}
}
.top-mv-sr,
.top-section-sr,
.mmi-visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}
/* TOP template refresh
====================================================== */
#mmi-header{
  background:#fff;
  border-bottom:6px solid var(--mmi-red);
  box-shadow:none;
}
#mmi-header .mmi-inner{
  width:1400px;
  /* min-height:110px; */
  /* height:110px; */
  margin:0 auto;
  padding:0 20px;
  border-radius:0;
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
}
#mmi-header #mmi-site-id{
  position:static;
  width:329px;
  height:auto;
  flex:0 0 329px;
}
#mmi-header #mmi-site-id a{
  display:block;
  width:329px;
  height:59px;
  background:url(/common/img/mmi-logo-header.svg) left center/contain no-repeat;
  overflow:hidden;
  text-indent:-9999px;
}
#mmi-header #mmi-site-id img{
  display:none;
}
#mmi-header .mmi-drawer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  position:static;
  flex:1 1 auto;
  gap:20px;
}
#mmi-global{
  position:static;
  flex:1 1 auto;
}
#mmi-global > ul{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  padding:0;
  margin:0;
}
#mmi-global > ul > li{
  height:auto;
  line-height:1;
  font-size:22px;
  border-right:1px solid #d7d7d7;
}
#mmi-global > ul > li:last-child{
  border-right:0;
}
#mmi-global > ul > li > a{
  display:block;
  padding: 0.9em 1.15em;
  font-weight:700;
  color:var(--mmi-navy) !important;
  pointer-events:auto;
  transition:color .2s ease;
}
#mmi-global > ul > li > a:hover,
#mmi-global > ul > li > a:focus-visible{
  opacity: .55;
  text-decoration:none;
}
#mmi-global > ul > li > a:hover::after,
#mmi-global > ul > li > a:focus-visible::after{
  content:none !important;
  display:none !important;
}
#mmi-global > ul > li > a:focus-visible{
  outline:2px solid var(--mmi-navy);
  outline-offset:6px;
}
#mmi-head-links{
  width:auto;
  height:auto;
  position:static;
  flex:0 0 auto;
}
#mmi-head-links ul{
  position:static;
  text-align:left;
}
#mmi-head-links ul li{
  margin-left:0;
}
#mmi-head-links ul.mmi-special li.mmi-contact a{
  display:flex;
  align-items:center;
  justify-content:center;
  height:65px;
  line-height:1;
  padding:0 24px 0 54px;
  border-radius:40px;
  background:var(--mmi-red);
  border:0;
  color:#fff;
  font-size:22px;
  font-weight:700;
  min-width:250px;
  position:relative;
  transition:opacity .2s ease;
}
#mmi-head-links ul.mmi-special li.mmi-contact a:before{
  content:"";
  position:absolute;
  display:block;
  width:27px;
  height:27px;
  left:30px;
  top:50%;
  margin-top:-12px;
  background:url(/common/img/icn-mail.svg) center center/contain no-repeat;
}
#mmi-head-links ul.mmi-special li.mmi-contact a:hover,
#mmi-head-links ul.mmi-special li.mmi-contact a:focus-visible{
  background:var(--mmi-red);
  color:#fff;
  text-decoration:none;
  box-shadow:none;
  opacity: .55;
}
#mmi-head-links ul.mmi-special li.mmi-contact a:focus-visible{
  outline:2px solid var(--mmi-navy);
  outline-offset:4px;
}
#mmi-header .mmi-site-search{
  display:none;
}
#mmi-header .mmi-toggle{
  display:none;
}
#mmi-header .pc_display{
  display:flex;
}
#mmi-header .sp_display{
  display:none;
}
@media screen and (max-width:767px){
  :root{
    --mmi-header-sp-height:60px;
  }
  #mmi-wrapper{
    margin-top:var(--mmi-header-sp-height);
  }
  #mmi-header{
    /* height:var(--mmi-header-sp-height); */
  }
  #mmi-header .mmi-inner{
    width:100%;
    /* min-height:100%; */
    /* height:100%; */
    padding:0 12px 0 16px;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  #mmi-header #mmi-site-id{
    position:static;
    width:auto;
    flex:0 0 auto;
    min-width:0;
  }
  #mmi-header #mmi-site-id a{
    width:210px;
    height:40px;
    background-image:url(/common/img/mmi-logo-header.svg);
  }
  #mmi-header #mmi-head-links{
    display:block;
    position:absolute;
    right:62px;
    top:14px;
    width:auto;
    height:auto;
    z-index:2;
  }
  #mmi-header #mmi-head-links ul{
    margin:0;
  }
  #mmi-header #mmi-head-links ul.mmi-special li.mmi-contact a{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-width:160px;
    height:40px;
    line-height:1;
    padding:0 18px 0 44px;
    border-radius:999px;
    background:var(--mmi-red);
    border:0;
    color:#fff;
    font-size:14px;
    font-weight:700;
    position:relative;
  }
  #mmi-header #mmi-head-links ul.mmi-special li.mmi-contact a:before{
    content:"";
    position:absolute;
    left:18px;
    top:50%;
    width:18px;
    height:18px;
    margin-top:-9px;
    background:url(/common/img/icn-mail.svg) center center/contain no-repeat;
  }
	#mmi-header .mmi-toggle{
	  display:flex;
	  position:absolute;
    right:10px;
    top:14px;
    width:48px;
    height:56px;
    padding:0;
    cursor:pointer;
    color:var(--mmi-navy);
    text-align:center;
    align-items:center;
    justify-content:center;
	  flex-direction:column;
	  gap:5px;
	  z-index:4;
	}
	#mmi-header .mmi-toggle::before{
	  content:"";
    display:block;
    width:30px;
    height:2px;
    background:var(--mmi-navy);
    border-radius:999px;
    box-shadow:0 -8px 0 var(--mmi-navy), 0 8px 0 var(--mmi-navy);
	  margin-bottom:7px;
	  flex:none;
	  transition:transform .2s ease, box-shadow .2s ease;
	}
	#mmi-header .mmi-toggle::after{
	  content:"";
	  display:none;
	  position:absolute;
	  top:18px;
	  left:50%;
	  width:30px;
	  height:2px;
	  margin-left:-15px;
	  border-radius:999px;
	  background:var(--mmi-navy);
	}
  #mmi-header .mmi-toggle-label{
    display:block;
    font-size:12px;
    line-height:1;
    margin-top:0;
    font-weight:700;
    letter-spacing:.04em;
    white-space:nowrap;
  }
	#mmi-header .mmi-toggle-check:checked + .mmi-toggle::before{
	  position:absolute;
	  top:14px;
	  left:50%;
	  width:30px;
	  height:2px;
	  margin:0 0 0 -15px;
	  box-shadow:none;
	  transform:rotate(45deg);
	}
	#mmi-header .mmi-toggle-check:checked + .mmi-toggle::after{
	  display:block;
	  top:14px;
	  transform:rotate(-45deg);
	}
  #mmi-header .mmi-toggle-check:checked + .mmi-toggle .mmi-toggle-label{
    margin-top:0;
  }
	#mmi-header .mmi-drawer{
	  position:fixed;
	  top:var(--mmi-header-sp-height);
	  right:0;
	  left:0;
	  width:100%;
	  height:auto;
	  max-height:calc(100vh - var(--mmi-header-sp-height));
	  flex:0 0 auto;
	  display:block;
	  background:#fff;
	  z-index:1;
	  overflow:auto;
	  opacity:0;
	  visibility:hidden;
	  pointer-events:none;
	  transform:translateY(-8px);
	  box-shadow:0 14px 28px rgba(10,48,102,.12);
	  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
	}
	#mmi-header .mmi-toggle-check:checked + .mmi-toggle + .mmi-drawer{
	  position:fixed;
	  top:var(--mmi-header-sp-height);
	  left:0;
	  width:100%;
	  display:block;
	  height:auto;
	  max-height:calc(100vh - var(--mmi-header-sp-height));
	  background:#fff;
	  z-index:1;
	  overflow:auto;
	  opacity:1;
	  visibility:visible;
	  pointer-events:auto;
	  transform:translateY(0);
	}
  #mmi-global > ul{
    display:none;
    padding:0;
  }
	#mmi-global > ul.sp_display{
	  display:none;
	  background:#fff;
	  margin:0;
	}
  #mmi-global > ul.sp_display li{
    border-bottom:1px solid #d7d7d7;
  }
  #mmi-global > ul.sp_display li a{
    display:block;
    padding:1em 1.2em;
    font-size:16px;
    color:var(--mmi-navy);
  }
  #mmi-header .sp_display{
    display:block;
  }
  #mmi-header .pc_display{
    display:none;
  }
  #mmi-header .mmi-toggle-check:checked + .mmi-toggle + .mmi-drawer #mmi-global > ul.sp_display{
    display:block;
  }
}
/* Final header polish overrides */
:root{
  --mmi-header-pc-offset:116px;
}
#mmi-wrapper{
  padding-top:var(--mmi-header-pc-offset);
}
#mmi-container{
  margin-top:0 !important;
}
#mmi-header{
  background:#fff !important;
  border-bottom:6px solid var(--mmi-red) !important;
  box-shadow:0 1px 13px rgba(0,0,0,.10) !important;
  padding:0 !important;
}
#mmi-header .mmi-inner{
  width:calc(100% - 40px) !important;
  max-width:1190px !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  min-height:110px !important;
}
#mmi-header #mmi-site-id{
  width:328px !important;
  flex:0 0 328px !important;
}
#mmi-header #mmi-site-id a{
  display:block !important;
  width:100% !important;
  height:auto !important;
  background:none !important;
  overflow:visible !important;
  text-indent:0 !important;
}
#mmi-header #mmi-site-id picture,
#mmi-header #mmi-site-id img{
  display:block !important;
  width:100% !important;
  height:auto !important;
}
#mmi-header #mmi-site-id source{
  display:none !important;
}
#mmi-header .mmi-drawer{
  gap:24px !important;
}
#mmi-global > ul > li{
  font-size:22px !important;
}
#mmi-global > ul > li > a{
  padding: 0.9em 1.15em !important;
}
#mmi-head-links ul.mmi-special li.mmi-contact a{
  min-width:248px !important;
  height:64px !important;
  border-radius:999px !important;
  font-size:22px !important;
  padding:0 28px 0 62px !important;
  transition: opacity .2s ease;
}
#mmi-head-links ul.mmi-special li.mmi-contact a:before{
  width:27px !important;
  height:27px !important;
  left:30px !important;
  margin-top:-12px !important;
}
/* ==========================================
  共通パンくずコンポーネント (.c-breadcrumb)
  current部分だけ残り幅で折り返す版
========================================== */

.c-breadcrumb {
  width: min(100%, 1120px);
  margin: 22px auto 16px;
  padding: 0;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: var(--mmi-text);
}

.c-breadcrumb ol {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 10px;
}

.c-breadcrumb li {
  position: relative;
  margin: 0;
  min-width: 0;
  white-space: nowrap;
  flex: 0 0 auto;
}

/* 以前の ::after 区切りを無効化 */
.c-breadcrumb li:not(:last-child)::after {
  content: none !important;
}

/* 2個目以降の前に > を置く */
.c-breadcrumb li + li {
  padding-left: 16px;
  margin-left: 0;
}

.c-breadcrumb li + li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  border: solid var(--mmi-red);
  border-width: 1.5px 1.5px 0 0;
  transform: translateY(-50%) rotate(45deg);
}

/* カレントだけ、残り幅を使って中で折り返す */
.c-breadcrumb li[aria-current="page"] {
  flex: 1 1 0;
  min-width: 0;
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
  color: var(--mmi-text);
}

.c-breadcrumb a {
  color: var(--mmi-text);
  text-decoration: none;
}

.c-breadcrumb a:hover {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb {
    padding-inline: 0;
  }
}
@media screen and (max-width: 1180px) {
  .c-breadcrumb {
    width: auto;
    margin-right: 24px;
    margin-left: 24px;
  }
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    margin: 22px clamp(16px, 3.067vw, 23px) 16px;
    font-size: clamp(12px, 3.136vw, 16px);
    line-height: 1.2;
  }
  .c-breadcrumb ol {
    align-items: flex-start;
    gap: clamp(8px, 2.4vw, 10px);
  }
  .c-breadcrumb li + li {
    padding-left: clamp(14px, 3.6vw, 16px);
  }
  .c-breadcrumb li + li::before {
    top: .65em;
  }
}
/* ==========================================
  共通ページャーコンポーネント (.pager)
========================================== */

#mmi-container .pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin:92px 0 0;
  color:var(--mmi-navy);
  font-family:noto, "Noto Sans JP", sans-serif;
  font-size:18px;
  font-weight:700;
  line-height:1;
}

#mmi-container .pager a,
#mmi-container .pager span{
  color:inherit;
  text-decoration:none;
}

#mmi-container .pager a:hover,
#mmi-container .pager a:focus-visible,
#mmi-container .pager span[aria-current="page"]{
  text-decoration: underline;
}
#mmi-container .pager a:focus-visible{
  outline:2px solid var(--mmi-navy);
  outline-offset:3px;
}

#mmi-container .pager-arrow{
  position:relative;
  width:34px;
  height:34px;
  border:2px solid var(--mmi-navy);
  border-radius:50%;
  background: #fff;
}

#mmi-container .pager-arrow::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:7px;
  height:7px;
  border:solid var(--mmi-navy);
  border-width:2px 2px 0 0;
  transform:translate(-42%, -50%) rotate(225deg);
}

#mmi-container .pager-arrow.is-next::before{
  transform:translate(-58%, -50%) rotate(45deg);
}

#mmi-container .pager-arrow:hover,
#mmi-container .pager-arrow:focus-visible{
  border-color:var(--mmi-red);
  cursor: pointer;
}

#mmi-container .pager-arrow:hover::before,
#mmi-container .pager-arrow:focus-visible::before{
  border-color:var(--mmi-red);
}

@media screen and (max-width:767px){
  #mmi-wrapper{
    margin-top:0 !important;
    padding-top:var(--mmi-header-sp-height);
  }
  #mmi-header{
    box-sizing:border-box !important;
    height:var(--mmi-header-sp-height) !important;
    min-height:0 !important;
    border-bottom:4px solid var(--mmi-red) !important;
    box-shadow:none !important;
  }
  #mmi-header .mmi-inner{
    width:100% !important;
    padding:0 12px 0 16px !important;
    height:calc(var(--mmi-header-sp-height) - 4px) !important;
    min-height:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  #mmi-header #mmi-site-id{
    width:auto !important;
    flex:0 1 auto !important;
  }
  #mmi-header #mmi-site-id a{
    width:clamp(154px, 43vw, 188px) !important;
  }
	  #mmi-header #mmi-head-links{
	    right: 61px !important;
	    top:8px !important;
	    z-index:3 !important;
	  }
	  #mmi-header #mmi-head-links ul{
	    padding-top: 2% !important;
	    padding-bottom:0 !important;
	  }
	  #mmi-header #mmi-head-links ul.mmi-special li{
	    border:0 !important;
	  }
	  #mmi-header #mmi-head-links ul.mmi-special li.mmi-contact a{
 width: 111px !important;
 min-width: 0 !important;
 height: 35px !important;
 padding: 0 7px 0 30px !important;
 font-size: clamp(10px, 3.1vw, 12px) !important;
 border: 0 !important;
 text-decoration: none !important;
 white-space: nowrap !important;
 border-radius: 999px !important;
 }
  #mmi-header #mmi-head-links ul.mmi-special li.mmi-contact a:before{
width: 16px !important;
 height: 16px !important;
 left: 12px !important;
 margin-top: -8px !important;
  }
	  #mmi-header .mmi-toggle{
	    display:block !important;
	    right:6px !important;
	    top:6px !important;
	    width:48px !important;
	    height:50px !important;
	    padding:0 !important;
	    z-index:4 !important;
	  }
	  #mmi-header .mmi-toggle-label{
	    position:absolute !important;
	    top:28px !important;
	    left:50% !important;
	    width:max-content !important;
	    margin:0 !important;
	    transform:translateX(-50%) !important;
	    font-size:12px !important;
	    line-height:1 !important;
	  }
	  #mmi-header .mmi-drawer{
	    position:fixed !important;
	    top:var(--mmi-header-sp-height) !important;
	    right:0 !important;
	    left:0 !important;
	    width:100% !important;
	    height:calc(100vh - var(--mmi-header-sp-height)) !important;
	    max-height:none !important;
	    display:block !important;
	    background:rgba(0,0,0,.3) !important;
	    z-index:1 !important;
	    overflow:auto !important;
	    opacity:0 !important;
	    visibility:hidden !important;
	    pointer-events:none !important;
	    transform:translateY(-8px) !important;
	    box-shadow:0 14px 28px rgba(10,48,102,.12) !important;
	    transition:opacity .2s ease, transform .2s ease, visibility .2s ease !important;
	  }
	  #mmi-header .mmi-toggle-check:checked + .mmi-toggle + .mmi-drawer{
	    opacity:1 !important;
	    visibility:visible !important;
	    pointer-events:auto !important;
	    transform:translateY(0) !important;
	    background:rgba(0,0,0,.3) !important;
	  }
	  #mmi-header #mmi-global{
	    width:100% !important;
	    background:#fff !important;
	  }
	  #mmi-header #mmi-global > ul.sp_display{
	    width:100% !important;
	    margin:0 !important;
	    padding:0 !important;
	    background:#fff !important;
	  }
	  #mmi-header #mmi-global > ul.sp_display > li{
	    width:100% !important;
	    border-right:0 !important;
	    border-bottom:1px solid #e5edf5 !important;
	    font-size:20px !important;
	  }
	  #mmi-header #mmi-global > ul.sp_display > li > a{
	    display:flex !important;
	    align-items:center !important;
	    justify-content:space-between !important;
	    min-height:72px !important;
	    padding:0 28px !important;
	    background:#fff !important;
	    color:var(--mmi-navy) !important;
	    font-size:20px !important;
	    font-weight:700 !important;
	    line-height:1.2 !important;
	    text-decoration:none !important;
	  }
		  #mmi-header #mmi-global > ul.sp_display > li > a::after{
		    content:"" !important;
		    display:block !important;
		    width:10px !important;
		    height:18px !important;
		    flex:0 0 auto !important;
		    background:var(--mmi-red) !important;
		    -webkit-mask:var(--mmi-chevron-mask) center / contain no-repeat !important;
		    mask:var(--mmi-chevron-mask) center / contain no-repeat !important;
		    transform:none !important;
		  }
	  #mmi-header #mmi-global > ul.sp_display > li > a:hover,
	  #mmi-header #mmi-global > ul.sp_display > li > a:focus-visible{
	    background:#fff8f8 !important;
	    opacity:1 !important;
	    text-decoration:none !important;
	  }
	  #mmi-header .mmi-toggle{
	    display:block !important;
	    justify-content:normal !important;
	    padding-top:0 !important;
	    box-sizing:border-box !important;
	    gap:normal !important;
	  }
	  #mmi-header .mmi-toggle::before{
	    position:absolute !important;
	    display:block !important;
	    width:30px !important;
	    height:2px !important;
	    top:14px !important;
	    left:50% !important;
	    margin:0 0 0 -15px !important;
	    background:var(--mmi-navy) !important;
	    background-image:none !important;
	    border-radius:999px !important;
	    box-shadow:0 -8px 0 var(--mmi-navy), 0 8px 0 var(--mmi-navy) !important;
	    transform:none !important;
	    transition:none !important;
	  }
	  #mmi-header .mmi-toggle::after{
	    content:"" !important;
	    display:none !important;
	    position:absolute !important;
	    top:14px !important;
	    left:50% !important;
	    width:30px !important;
	    height:2px !important;
	    margin-left:-15px !important;
	    background:var(--mmi-navy) !important;
	    background-image:none !important;
	    border-radius:999px !important;
	    transition:none !important;
	  }
	  #mmi-header .mmi-toggle-check:checked + .mmi-toggle::before{
	    position:absolute !important;
	    top:14px !important;
	    left:50% !important;
	    width:30px !important;
	    height:2px !important;
	    margin:0 0 0 -15px !important;
	    background:var(--mmi-navy) !important;
	    background-image:none !important;
	    box-shadow:none !important;
	    transform:rotate(45deg) !important;
	    transition:none !important;
	  }
	  #mmi-header .mmi-toggle-check:checked + .mmi-toggle::after{
	    display:block !important;
	    transform:rotate(-45deg) !important;
	  }
	  #mmi-header .mmi-toggle-check:checked + .mmi-toggle .mmi-toggle-label{
	    top:28px !important;
	    margin:0 !important;
	  }
	  @media screen and (max-width:340px){
	    #mmi-header #mmi-site-id a{
	      width:132px !important;
	    }
	    #mmi-header #mmi-head-links{
	      right:55px !important;
	    }
	    #mmi-header #mmi-head-links ul.mmi-special li.mmi-contact a{
	      width:104px !important;
	      height:38px !important;
	      padding:0 8px 0 27px !important;
	      font-size:10.5px !important;
	    }
	    #mmi-header #mmi-head-links ul.mmi-special li.mmi-contact a:before{
	      left:9px !important;
	      width:14px !important;
	      height:14px !important;
	      margin-top:-7px !important;
	    }
	    #mmi-header .mmi-toggle{
	      right:3px !important;
	    }
	  }
  #mmi-container #page-products .products-result-card img {
    width: 100%;
  }
	}

.mmi-footer-contact{
  position:relative;
  z-index:1;
  padding:76px 0 80px;
  background:#fff;
  overflow:hidden;
}
.mmi-footer-contact-hidden .mmi-footer-contact,
.no-footer-contact .mmi-footer-contact{
  display:none !important;
}
.mmi-footer-contact-inner{
  width:min(100%, 1200px);
  margin:0 auto;
  padding:0 40px;
  box-sizing:border-box;
}
.mmi-footer-contact-card{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 540px) minmax(320px, 454px);
  align-items:center;
  justify-content:space-between;
  column-gap:40px;
  max-width:1120px;
  min-height:299px;
  margin:0 auto;
  padding:20px 76px 20px 90px;
  border-radius:30px;
  background:var(--mmi-red);
  box-shadow:none;
  box-sizing:border-box;
  color:inherit;
  overflow:visible;
  text-decoration:none !important;
  transition:opacity .2s ease;
}
.mmi-footer-contact-card:hover,
.mmi-footer-contact-card:focus-visible{
  opacity:.55;
  text-decoration:none !important;
}
.mmi-footer-contact-card:focus-visible{
  outline:3px solid #009dff;
  outline-offset:4px;
}
.mmi-footer-contact-body{
  position:relative;
  z-index:2;
  max-width:540px;
}
.mmi-footer-contact-lead{
  margin:0;
  color:#fff;
  font-size:22px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.04em;
}
.mmi-footer-contact-title{
  margin:6px 0 0;
  color:#fff;
  font-size:30px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.03em;
}
.mmi-footer-contact-lead span,
.mmi-footer-contact-title span{
  font-size:85%;
}
.mmi-footer-contact-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:min(100%, 381px);
  max-width:100%;
  height:79px;
  margin-top:24px;
  padding:0 34px;
  border-radius:999px;
  background:#fff;
  box-sizing:border-box;
  color:var(--mmi-red) !important;
  font-size:27px;
  font-weight:700;
  line-height:1;
  text-decoration:none !important;
}
.mmi-footer-contact-link::after{
  content:"";
  display:block;
  width:10px;
  height:18px;
  margin-left:12px;
  background:currentColor;
  -webkit-mask:var(--mmi-chevron-mask) center / contain no-repeat;
  mask:var(--mmi-chevron-mask) center / contain no-repeat;
  transform:translateY(1px);
}
.mmi-footer-contact-image{
  position:static;
  justify-self:end;
  align-self:center;
  z-index:1;
  margin:0;
  transform:translateY(16px);
}
.mmi-footer-contact-image picture{
  display:block;
}
.mmi-footer-contact-image img{
  display:block;
  width:100%;
  max-width:454px;
  height:auto;
}

@media screen and (max-width:1180px){
  .mmi-footer-contact{
    padding:72px 0 76px;
  }
  .mmi-footer-contact-inner{
    padding:0 32px;
  }
  .mmi-footer-contact-card{
    grid-template-columns:minmax(0, 520px) minmax(320px, 454px);
    column-gap:28px;
    min-height:286px;
    padding:20px 42px 20px 56px;
  }
  .mmi-footer-contact-body{
    max-width:520px;
  }
  .mmi-footer-contact-lead{
    font-size:21px;
  }
  .mmi-footer-contact-title{
    font-size:28px;
  }
  .mmi-footer-contact-image img{
    max-width:clamp(380px, 36vw, 454px);
  }
}

@media screen and (max-width:1024px){
  .mmi-footer-contact-card{
    grid-template-columns:minmax(0, 1fr) minmax(260px, 340px);
    column-gap:24px;
    min-height:238px;
    padding:20px 32px 20px 36px;
    text-align:left;
  }
  .mmi-footer-contact-body{
    max-width:460px;
  }
  .mmi-footer-contact-lead{
    font-size:19px;
  }
  .mmi-footer-contact-title{
    font-size:25px;
  }
  .mmi-footer-contact-link{
    width:min(100%, 360px);
    height:68px;
    margin-top:20px;
    font-size:23px;
  }
  .mmi-footer-contact-image img{
    max-width:clamp(260px, 32vw, 340px);
  }
}

@media screen and (max-width:900px){
  .mmi-footer-contact-card{
    grid-template-columns:minmax(0, 1fr) minmax(200px, 252px);
  }
  .mmi-footer-contact-body{
    max-width:420px;
  }
  .mmi-footer-contact-title{
    font-size:24px;
  }
  .mmi-footer-contact-link{
    width:min(100%, 340px);
    height:62px;
    font-size:21px;
  }
  .mmi-footer-contact-image img{
    max-width:clamp(200px, 28vw, 252px);
  }
}

@media screen and (max-width:767px){
  .mmi-footer-contact{
    padding:112px 16px 56px;
  }
  .mmi-footer-contact-inner{
    width:100%;
    padding:0;
  }
  .mmi-footer-contact-card{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:0;
    padding: 44px 18px 35px;
    border-radius:24px;
    box-shadow:none;
    text-align:center;
  }
  .mmi-footer-contact-body{
    max-width:none;
  }
  .mmi-footer-contact-lead{
    font-size:16px;
    line-height:1.4;
  }
  .mmi-footer-contact-title{
    margin-top:8px;
    font-size:22px;
    line-height:1.42;
    white-space:nowrap;
  }
  .mmi-footer-contact-link{
    width:clamp(160px, 44.7%, 315px);
    height:clamp(43px, 10.52vw, 79px);
    margin-top:clamp(10px, 2.8vw, 21px);
    padding:0 clamp(24px, 6vw, 45px);
    font-size:clamp(14px, 3.38vw, 25px);
  }
  .mmi-footer-contact-link::after{
    width:clamp(6px, .94vw, 8px);
    height:clamp(13px, 2vw, 17px);
    margin-left:clamp(8px, 2vw, 15px);
  }
  .mmi-footer-contact-image{
    position:absolute;
    right:50%;
    top: clamp(-124px, -27vw, -94px);
    bottom:auto;
    transform:translateX(50%);
  }
  .mmi-footer-contact-image img{
    width:clamp(246px, 72vw, 340px);
    max-width:none;
  }
}

@media screen and (max-width:374px){
  .mmi-footer-contact-card{
    padding-right:18px;
    padding-left:18px;
  }
  .mmi-footer-contact-title{
    font-size:20px;
  }
}

/* Final footer overrides based on the Figma footer component */
#mmi-footer{
  min-height:157px !important;
  padding:0 !important;
  border-top:8px solid var(--mmi-red) !important;
  box-sizing:border-box !important;
}
#mmi-footer .mmi-inner{
  width:calc(100% - 80px) !important;
  max-width:1400px !important;
  min-height:149px !important;
  margin:0 auto !important;
  padding:0 !important;
}
#mmi-footer .footer-row{
  min-height:149px !important;
  display:block !important;
  position:relative !important;
}
#mmi-footer .footer-left{
  position:absolute !important;
  top:0 !important;
  left:max(0px, calc(50% - 547px)) !important;
  width:600px !important;
  padding-top:45px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  text-align:left !important;
  transform:none !important;
}
#mmi-footer .footer-left .mm-sub-link{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:max-content !important;
  gap:28px !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  transform:none !important;
}
#mmi-footer .footer-left .mm-sub-link li{
  flex:0 0 auto !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
}
#mmi-footer .footer-left .mm-sub-link li a{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--mmi-navy) !important;
  font-size:20px !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
}
#mmi-footer .footer-left .mm-sub-link li a::after{
  content:"" !important;
  display:inline-block !important;
  width:16px !important;
  height:15px !important;
  margin:0 !important;
  background:url(/common/img/icon_blank_footer_figma.png) center/contain no-repeat !important;
}
#mmi-footer .footer-left .copy{
  margin:30px 0 0 !important;
  padding:0 !important;
  color:var(--mmi-text) !important;
  font-size:13px !important;
  line-height:1 !important;
  text-align:left !important;
}
#mmi-footer .footer-right{
  position:absolute !important;
  top:28px !important;
  right:max(0px, calc(50% - 562px)) !important;
  left:auto !important;
  padding:0 !important;
}
#mmi-footer .footer-right a{
  display:block !important;
  line-height:0 !important;
}
#mmi-footer .footer-right .logo{
  display:block !important;
  width:230px !important;
  height:auto !important;
}

/* Shared page shell and hero */
#mmi-container .mmi-page-shell{
  color:var(--mmi-text);
  background:#fff;
  overflow:hidden;
}
#mmi-container .mmi-page-hero{
  position:relative;
  --mmi-page-hero-height-pc:235px;
  --mmi-page-hero-height-sp-min:136px;
  --mmi-page-hero-height-sp-fluid:36.133vw;
  --mmi-page-hero-height-sp-max:271px;
  --mmi-page-hero-inner-top-pc:67px;
  --mmi-page-hero-inner-top-sp-min:38px;
  --mmi-page-hero-inner-top-sp-fluid:10vw;
  --mmi-page-hero-inner-top-sp-max:75px;
  --mmi-page-hero-title-gap:10px;
  --mmi-page-hero-eyebrow-height-pc:24px;
  --mmi-page-hero-eyebrow-height-sp-min:14px;
  --mmi-page-hero-eyebrow-height-sp-fluid:3.2vw;
  --mmi-page-hero-eyebrow-height-sp-max:24px;
  --mmi-page-hero-title-size-pc:44px;
  --mmi-page-hero-title-size-sp-min:28px;
  --mmi-page-hero-title-size-sp-fluid:6.133vw;
  --mmi-page-hero-title-size-sp-max:46px;
  --mmi-page-hero-title-height-pc:53px;
  --mmi-page-hero-title-height-sp-min:34px;
  --mmi-page-hero-title-height-sp-fluid:7.467vw;
  --mmi-page-hero-title-height-sp-max:56px;
  height:var(--mmi-page-hero-height-pc);
  margin:0;
  overflow:hidden;
  background:#fff;
}
#mmi-container .mmi-page-hero picture,
#mmi-container .mmi-page-hero picture img{
  display:block;
  width:100%;
  height:100%;
}
#mmi-container .mmi-page-hero > picture img{
  object-fit:cover;
  object-position:center top;
}
#mmi-container .mmi-page-hero__inner{
  position:absolute;
  top:var(--mmi-page-hero-inner-top-pc);
  left:50%;
  z-index:2;
  width:min(100%, var(--mmi-content-width));
  transform:translateX(-50%);
}
#mmi-container .mmi-page-hero__eyebrow{
  margin:0;
}
#mmi-container .mmi-page-hero__eyebrow img{
  display:block;
  width:auto;
  height:var(--mmi-page-hero-eyebrow-height-pc);
}
#mmi-container .mmi-page-hero__title{
  display:flex;
  align-items:center;
  min-height:var(--mmi-page-hero-title-height-pc);
  margin:var(--mmi-page-hero-title-gap) 0 0;
  color:var(--mmi-navy);
  font-family:noto, "Noto Sans JP", sans-serif;
  font-size:var(--mmi-page-hero-title-size-pc);
  font-weight:700;
  line-height:1;
  letter-spacing:.05em;
}
#mmi-container .mmi-page-hero--short{
  --mmi-page-hero-height-pc:218px;
  --mmi-page-hero-height-sp-min:136px;
  --mmi-page-hero-height-sp-fluid:36.133vw;
  --mmi-page-hero-height-sp-max:218px;
}
#mmi-container .mmi-page-hero--sp-281{
  --mmi-page-hero-height-sp-min:141px;
  --mmi-page-hero-height-sp-fluid:37.467vw;
  --mmi-page-hero-height-sp-max:281px;
  --mmi-page-hero-inner-top-sp-min:42px;
  --mmi-page-hero-inner-top-sp-fluid:11.333vw;
  --mmi-page-hero-inner-top-sp-max:85px;
}
#mmi-container .mmi-page-hero--sp-290{
  --mmi-page-hero-height-sp-min:145px;
  --mmi-page-hero-height-sp-fluid:38.667vw;
  --mmi-page-hero-height-sp-max:290px;
  --mmi-page-hero-inner-top-sp-min:46px;
  --mmi-page-hero-inner-top-sp-fluid:12.267vw;
  --mmi-page-hero-inner-top-sp-max:92px;
}
#mmi-container .mmi-page-hero--eyebrow-lg{
  --mmi-page-hero-eyebrow-height-pc:29px;
  --mmi-page-hero-eyebrow-height-sp-min:18px;
  --mmi-page-hero-eyebrow-height-sp-fluid:4vw;
  --mmi-page-hero-eyebrow-height-sp-max:30px;
  --mmi-page-hero-title-gap:8px;
}
#mmi-container .mmi-page-hero--eyebrow-sm{
  --mmi-page-hero-inner-top-pc:74px;
  --mmi-page-hero-eyebrow-height-pc:22px;
  --mmi-page-hero-eyebrow-height-sp-min:14px;
  --mmi-page-hero-eyebrow-height-sp-fluid:3.333vw;
  --mmi-page-hero-eyebrow-height-sp-max:25px;
}

/* Shared outlined CTA button */
#mmi-container .mmi-cta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:0;
  max-width:100%;
  min-height:82px;
  padding:0 56px 0 64px;
  border:2.5px solid var(--mmi-red);
  border-radius:999px;
  background:#fff;
  color:var(--mmi-red);
  font-family:noto, "Noto Sans JP", sans-serif;
  font-size:22px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.04em;
  text-decoration:none !important;
  cursor:pointer;
  transition:opacity var(--mmi-transition-fast), background-color var(--mmi-transition-fast), color var(--mmi-transition-fast), border-color var(--mmi-transition-fast);
}
#mmi-container .mmi-cta-button::after{
  content:"";
  display:block;
  width:10px;
  height:18px;
  margin-left:20px;
  background:currentColor;
  -webkit-mask:var(--mmi-chevron-mask) center / contain no-repeat;
  mask:var(--mmi-chevron-mask) center / contain no-repeat;
  transform:translateY(1px);
}
#mmi-container .mmi-cta-button:hover,
#mmi-container .mmi-cta-button:focus-visible{
  opacity:var(--mmi-hover-opacity);
  text-decoration:none !important;
}
#mmi-container .mmi-cta-button:focus-visible{
  outline:var(--mmi-focus-ring);
  outline-offset:4px;
}

/* Shared form micro components */
#mmi-container .mmi-form-required{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  min-height: 22px;
  padding:2px 8px;
  border-radius:999px;
  background:var(--mmi-red);
  color:#fff;
  font-family:noto, "Noto Sans JP", sans-serif;
  font-size:12px;
  font-weight:700;
  line-height:1;
  letter-spacing:.02em;
  white-space:nowrap;
}

/* Shared search form controls */
#mmi-container .mmi-search-field label{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:27px;
  margin:0 0 8px;
  color:var(--mmi-navy);
  font-family:noto, "Noto Sans JP", sans-serif;
  font-size:22px;
  font-weight:500;
  line-height:1;
  letter-spacing:.02em;
}
#mmi-container .mmi-search-field label img{
  display:block;
  flex:0 0 auto;
}
#mmi-container .mmi-search-control{
  position:relative;
  height:63px;
  background:#fff;
  border:2px solid var(--mmi-input-border);
  border-radius:8px;
}
#mmi-container .mmi-search-control.is-select::after{
  content:"";
  position:absolute;
  top:50%;
  right:17px;
  width:9px;
  height:9px;
  border-right:2px solid var(--mmi-red);
  border-bottom:2px solid var(--mmi-red);
  transform:translateY(-65%) rotate(45deg);
  pointer-events:none;
}
#mmi-container .mmi-search-control select,
#mmi-container .mmi-search-control input{
  display:block;
  width:100%;
  height:100%;
  padding:0 18px;
  border:0;
  background:transparent;
  color:var(--mmi-text);
  font-family:inherit;
  font-size:20px;
  font-weight:500;
  letter-spacing:.02em;
  outline:none;
}
#mmi-container .mmi-search-control select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:44px;
}
#mmi-container .mmi-search-control input::placeholder{
  color:var(--mmi-placeholder);
}
#mmi-container .mmi-search-keyword-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 135px;
}
#mmi-container .mmi-search-keyword-row .mmi-search-control{
  border-right:0;
  border-radius:8px 0 0 8px;
}
#mmi-container .mmi-search-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:135px;
  height:63px;
  padding:0;
  border:0;
  border-radius:0 8px 8px 0;
  background:var(--mmi-red);
  color:#fff;
  font-family:noto, "Noto Sans JP", sans-serif;
  font-size:22px;
  font-weight:700;
  line-height:1;
  letter-spacing:.05em;
  cursor:pointer;
  transition:opacity var(--mmi-transition-fast);
}
#mmi-container .mmi-search-submit::after{
  content:"";
  display:block;
  width:22px;
  height:22px;
  background:#fff;
  -webkit-mask:var(--mmi-search-icon) center / contain no-repeat;
  mask:var(--mmi-search-icon) center / contain no-repeat;
}
#mmi-container .mmi-search-submit:hover,
#mmi-container .mmi-search-submit:focus-visible{
  opacity:var(--mmi-hover-opacity);
  text-decoration:none;
}
#mmi-container .mmi-search-control select:focus-visible,
#mmi-container .mmi-search-control input:focus-visible,
#mmi-container .mmi-search-submit:focus-visible{
  outline:none;
}
html.mmi-keyboard-navigation #mmi-container .mmi-search-control:focus-within{
  outline:var(--mmi-focus-ring);
  outline-offset:3px;
}
html.mmi-keyboard-navigation #mmi-container .mmi-search-control .mmi-keyboard-focus{
  outline:none !important;
}

@media screen and (max-width:767px){
  #mmi-container .mmi-page-hero{
    height:clamp(var(--mmi-page-hero-height-sp-min), var(--mmi-page-hero-height-sp-fluid), var(--mmi-page-hero-height-sp-max));
  }
  #mmi-container .mmi-page-hero__inner{
    top:clamp(var(--mmi-page-hero-inner-top-sp-min), var(--mmi-page-hero-inner-top-sp-fluid), var(--mmi-page-hero-inner-top-sp-max));
    right:clamp(16px, 3.1vw, 23px);
    left:clamp(16px, 3.1vw, 23px);
    width:auto;
    transform:none;
  }
  #mmi-container .mmi-page-hero__eyebrow img{
    height:clamp(var(--mmi-page-hero-eyebrow-height-sp-min), var(--mmi-page-hero-eyebrow-height-sp-fluid), var(--mmi-page-hero-eyebrow-height-sp-max));
  }
  #mmi-container .mmi-page-hero__title{
    min-height:clamp(var(--mmi-page-hero-title-height-sp-min), var(--mmi-page-hero-title-height-sp-fluid), var(--mmi-page-hero-title-height-sp-max));
    font-size:clamp(var(--mmi-page-hero-title-size-sp-min), var(--mmi-page-hero-title-size-sp-fluid), var(--mmi-page-hero-title-size-sp-max));
    line-height:1;
    letter-spacing:.04em;
  }
  #mmi-container .mmi-page-hero--product .mmi-page-hero__title{
    font-weight: 700;
  }
  #mmi-container .mmi-cta-button{
    min-height:clamp(42px, 11.52vw, 86px);
    padding:0 clamp(28px, 9.6vw, 72px) 0 clamp(34px, 11.52vw, 86px);
    border-width:clamp(2px, .48vw, 3.6px);
    font-size:clamp(15px, 4.224vw, 31.68px);
  }
  #mmi-container .mmi-cta-button::after{
    width:clamp(6px, 1.152vw, 9px);
    height:clamp(13px, 2.688vw, 20px);
    margin-left:clamp(10px, 3.84vw, 29px);
  }
  #mmi-container .mmi-form-required{
    min-width:clamp(28px, 7.2vw, 54px);
    min-height:clamp(16px, 4.32vw, 32px);
    padding:2px clamp(6px, 1.6vw, 12px);
    font-size:clamp(10px, 2.88vw, 21px);
  }
  #mmi-container .pager{
    gap:clamp(14px, 4vw, 30px);
    margin-top:clamp(60px, 12.8vw, 130px);
    font-size:clamp(15px, 4vw, 30px);
  }
  #mmi-container .pager-arrow{
    width:clamp(30px, 6.8vw, 51px);
    height:clamp(30px, 6.8vw, 51px);
  }
  #mmi-container .mmi-search-field label{
    gap:clamp(4px, .93vw, 7px);
    min-height:clamp(22px, 4.667vw, 35px);
    margin-bottom:clamp(8px, 2vw, 15px);
    font-size:clamp(15px, 4vw, 30px);
  }
  #mmi-container .mmi-search-field label img{
    width:clamp(22px, 4.667vw, 35px);
    height:clamp(22px, 4.667vw, 35px);
  }
  #mmi-container .mmi-search-control{
    height:clamp(54px, 12vw, 90px);
    border-width:clamp(2px, .384vw, 2.88px);
    border-radius:clamp(8px, 1.536vw, 11.52px);
  }
  #mmi-container .mmi-search-control.is-select{
    height:clamp(54px, 12.133vw, 91px);
  }
  #mmi-container .mmi-search-control.is-select::after{
    right:clamp(17px, 3.6vw, 27px);
    width:clamp(9px, 1.6vw, 12px);
    height:clamp(9px, 1.6vw, 12px);
    border-width:clamp(2px, .347vw, 2.6px);
  }
  #mmi-container .mmi-search-control select,
  #mmi-container .mmi-search-control input{
    padding:0 clamp(16px, 3.867vw, 29px);
    font-size:clamp(16px, 3.84vw, 28.8px);
  }
  #mmi-container .mmi-search-keyword-row{
    grid-template-columns:minmax(0, 1fr) clamp(54px, 12vw, 90px);
  }
  #mmi-container .mmi-search-keyword-row .mmi-search-control{
    border-radius:clamp(8px, 1.536vw, 11.52px) 0 0 clamp(8px, 1.536vw, 11.52px);
  }
  #mmi-container .mmi-search-submit{
    gap:0;
    width:clamp(54px, 12vw, 90px);
    height:clamp(54px, 12vw, 90px);
    padding:0;
    border-radius:0 clamp(8px, 1.536vw, 11.52px) clamp(8px, 1.536vw, 11.52px) 0;
  }
  #mmi-container .mmi-search-submit span{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    white-space:nowrap;
    border:0;
  }
  #mmi-container .mmi-search-submit::after{
    width:clamp(26px, 5.867vw, 44px);
    height:clamp(26px, 5.867vw, 44px);
  }
}

/* Shared wave section shell */
#mmi-container .mmi-wave-section{
  --mmi-section-bg:var(--mmi-beige);
  --mmi-section-wave-image:var(--mmi-wave-beige);
  --mmi-section-wave-height:115px;
  --mmi-section-wave-fill-start: 80px;
  --mmi-section-wave-width:1920px;
  --mmi-wave-section-offset:-65px;
  --mmi-wave-section-padding-top:133px;
  --mmi-wave-section-padding-bottom:140px;
  --mmi-wave-content-width:var(--mmi-content-width);
  --mmi-wave-content-side-gap:48px;
  --mmi-wave-content-padding:0;
  --mmi-section-after-image:var(--mmi-section-edge-beige);
  --mmi-section-after-position:left bottom;
  --mmi-section-after-size:1px 113px;
  --mmi-section-after-repeat:repeat-x;
  --mmi-section-after-top:auto;
  --mmi-section-after-bottom:0;
  --mmi-section-after-height:83px;
  position:relative;
  z-index:1;
  isolation:isolate;
  overflow:hidden;
  margin-top:var(--mmi-wave-section-offset);
  padding:var(--mmi-wave-section-padding-top) 0 var(--mmi-wave-section-padding-bottom);
  background:linear-gradient(
    to bottom,
    transparent 0,
    transparent var(--mmi-section-wave-fill-start),
    var(--mmi-section-bg) var(--mmi-section-wave-fill-start),
    var(--mmi-section-bg) 100%
  );
}
#mmi-container .mmi-wave-section::before,
#mmi-container .mmi-wave-section::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
#mmi-container .mmi-wave-section::before{
  top:0;
  left:50%;
  z-index:1;
  width:var(--mmi-section-wave-width);
  height:var(--mmi-section-wave-height);
  transform:translateX(-50%);
  background:var(--mmi-section-wave-image) center top / auto var(--mmi-section-wave-height) no-repeat;
}
#mmi-container .mmi-wave-section::after{
  top:var(--mmi-section-after-top);
  right:0;
  bottom:var(--mmi-section-after-bottom);
  left:0;
  z-index:0;
  height:var(--mmi-section-after-height);
  background:var(--mmi-section-after-image) var(--mmi-section-after-position) / var(--mmi-section-after-size) var(--mmi-section-after-repeat);
}
#mmi-container .mmi-wave-section--beige{
  --mmi-section-bg:var(--mmi-beige);
  --mmi-section-wave-image:var(--mmi-wave-beige);
  --mmi-section-after-image:var(--mmi-section-edge-beige);
}
#mmi-container .mmi-wave-section--white{
  --mmi-section-bg:#fff;
  --mmi-section-wave-image:var(--mmi-wave-white);
  --mmi-section-after-image:var(--mmi-section-edge-white);
}
#mmi-container .mmi-wave-section--continuous{
  --mmi-section-after-position:center top;
  --mmi-section-after-size:1920px 1px;
  --mmi-section-after-repeat:repeat-y;
  --mmi-section-after-top:calc(var(--mmi-section-wave-height) - 2px);
  --mmi-section-after-bottom:0;
  --mmi-section-after-height:auto;
}
#mmi-container .mmi-wave-section--continuous::after{
  z-index:1;
}
#mmi-container .mmi-wave-section--beige.mmi-wave-section--continuous{
  --mmi-section-after-image:var(--mmi-wave-strip-beige);
}
#mmi-container .mmi-wave-section--white.mmi-wave-section--continuous{
  --mmi-section-after-image:var(--mmi-wave-strip-white);
}
#mmi-container .mmi-wave-section__inner{
  position:relative;
  z-index:2;
  box-sizing:border-box;
  width:min(100% - var(--mmi-wave-content-side-gap), var(--mmi-wave-content-width));
  margin:0 auto;
  padding:var(--mmi-wave-content-padding);
}
#mmi-container .mmi-section-edge{
  --mmi-edge-image:var(--mmi-section-edge-beige);
  --mmi-edge-height:113px;
  position:relative;
}
#mmi-container .mmi-section-edge::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  z-index:2;
  height:var(--mmi-edge-height);
  background:var(--mmi-edge-image) left bottom / 1px 113px repeat-x;
  pointer-events:none;
}
#mmi-container .mmi-section-edge--beige{
  --mmi-edge-image:var(--mmi-section-edge-beige);
}
#mmi-container .mmi-section-edge--white{
  --mmi-edge-image:var(--mmi-section-edge-white);
}

@media screen and (max-width:767px){
  #mmi-container .mmi-wave-section{
    --mmi-section-wave-height:64px;
    --mmi-section-wave-fill-start:32px;
    --mmi-section-wave-width:100%;
    --mmi-wave-section-offset:clamp(-47px, -8vw, -26px);
    --mmi-wave-section-padding-top:clamp(56px, 14.8vw, 111px);
    --mmi-wave-section-padding-bottom:clamp(60px, 16vw, 120px);
    --mmi-wave-content-width-sp:auto;
    --mmi-wave-content-padding-sp:0 clamp(16px, 3.1vw, 23px);
    --mmi-section-after-height:clamp(82px, 15.067vw, 113px);
  }
  #mmi-container .mmi-wave-section--continuous{
    /* Keep the continuation strip aligned with the 1920:115 wave artwork. */
    --mmi-section-after-size:calc(var(--mmi-section-wave-height) * 16.695652) 1px;
    --mmi-section-after-height:auto;
  }
  #mmi-container .mmi-wave-section--sp-compact{
    --mmi-section-wave-height:50px;
    --mmi-section-wave-fill-start:30px;
  }
  #mmi-container .mmi-wave-section__inner{
    width:var(--mmi-wave-content-width-sp);
    margin:0;
    padding:var(--mmi-wave-content-padding-sp);
  }
  #mmi-container .mmi-section-edge{
    --mmi-edge-height:clamp(82px, 15.067vw, 113px);
  }
  #mmi-footer{
    min-height:0 !important;
    border-top-width:5px !important;
  }
  #mmi-footer .mmi-inner{
    width:100% !important;
    min-height:0 !important;
    padding:28px 20px 34px !important;
  }
  #mmi-footer .footer-row{
    min-height:0 !important;
    display:flex !important;
    position:static !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:22px !important;
  }
  #mmi-footer .footer-left{
    position:static !important;
    width:max-content !important;
    max-width:100% !important;
    padding-top:0 !important;
    transform:none !important;
    align-items:flex-start !important;
    text-align:left !important;
  }
  #mmi-footer .footer-left .mm-sub-link{
    width:auto !important;
    gap:14px !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    padding:0 !important;
    transform:none !important;
  }
  #mmi-footer .footer-left .mm-sub-link li{
    flex:0 0 auto !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
  }
  #mmi-footer .footer-left .mm-sub-link li a{
    font-size:13px !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
  }
  #mmi-footer .footer-left .mm-sub-link li a::after{
    width:12px !important;
    height:12px !important;
  }
  #mmi-footer .footer-left .copy{
    margin-top:20px !important;
    font-size:10px !important;
    line-height:1.5 !important;
    text-align:left !important;
  }
  #mmi-footer .footer-right{
    position:static !important;
    flex:0 0 auto !important;
    padding-top:0 !important;
  }
  #mmi-footer .footer-right .logo{
    width:184px !important;
  }
}

/* Shared recipe card component */
#mmi-container .mmi-recipe-card{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  border-radius:13px;
  background:#fff;
  color:inherit;
  box-shadow:0 5px 15px rgba(0, 0, 0, .1);
  transition:opacity .2s ease;
}
#mmi-container .mmi-recipe-card:hover,
#mmi-container .mmi-recipe-card:focus-visible{
  opacity:.55;
  text-decoration:none;
}
#mmi-container .mmi-recipe-card:focus-visible{
  outline:2px solid var(--mmi-navy);
  outline-offset:2px;
}
#mmi-container .mmi-recipe-card .mmi-content-card-media{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:273 / 205;
  overflow:hidden;
  background:#666;
}
#mmi-container .mmi-recipe-card .mmi-content-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
#mmi-container .mmi-recipe-card:hover .mmi-content-card-media img,
#mmi-container .mmi-recipe-card:focus-visible .mmi-content-card-media img{
  opacity:1;
}
#mmi-container .mmi-recipe-card .mmi-content-card-body{
  position:relative;
  display:flex;
  height:103px;
  padding:18px 52px 18px 20px;
  background:#fff;
}
#mmi-container .mmi-recipe-card .mmi-content-card-title{
  display:-webkit-box;
  overflow:hidden;
  color:var(--mmi-navy);
  font-family:noto, "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight:700;
  line-height:1.52;
  letter-spacing:.02em;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
#mmi-container .mmi-recipe-card .mmi-content-card-arrow{
  position:absolute;
  right:0;
  bottom:30px;
  z-index:1;
  width:30px;
  height:30px;
  border-radius:14px 0 13px 0;
}
#mmi-container .mmi-recipe-card .mmi-content-card-arrow::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:10px;
  height:16px;
  background:var(--mmi-red);
  -webkit-mask:var(--mmi-chevron-mask) center / contain no-repeat;
  mask:var(--mmi-chevron-mask) center / contain no-repeat;
  transform:translate(-50%, -50%);
}

@media screen and (max-width:767px){
  #mmi-container .mmi-recipe-card{
    display:grid;
    grid-template-columns:38.068% minmax(0, 61.932%);
    min-height:0;
    border-radius:clamp(9px, 1.733vw, 13px);
  }
  #mmi-container .mmi-recipe-card .mmi-content-card-media{
    aspect-ratio:268 / 201;
  }
  #mmi-container .mmi-recipe-card .mmi-content-card-body{
    height:clamp(101px, 26.8vw, 201px);
    padding:clamp(14px, 3.2vw, 24px) clamp(25px, 6.8vw, 85px) clamp(14px, 3.2vw, 24px) clamp(14px, 4vw, 30px);
  }
  #mmi-container .mmi-recipe-card .mmi-content-card-title{
    font-size:clamp(13px, 3.733vw, 28px);
    line-height:1.5;
  }
  #mmi-container .mmi-recipe-card .mmi-content-card-arrow{
    width: 24px;
    height: 40px;
    border-radius:clamp(18px, 3.733vw, 28px) 0 clamp(9px, 1.733vw, 13px) 0;
  }
  #mmi-container .mmi-recipe-card .mmi-content-card-arrow::before{
    width:clamp(10px, 1.2vw, 20px);
    height:clamp(17px, 3.333vw, 36px);
  }
}

@media screen and (max-width:420px){
  #mmi-container .mmi-recipe-card{
    grid-template-columns:40% minmax(0, 60%);
  }
  #mmi-container .mmi-recipe-card .mmi-content-card-title{
    font-size:15px;
  }
}
