/* =============================================================
Base（〜768px：スマホ & 共通）
※スマホ基準で書く、PC/SPの出し分けもここに統一
============================================================= */
/*----------------------------------------------------
基本設定
-----------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Murecho:wght@100..900&family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');/* Roboto（半角英数字用） */
@font-face {
  font-family: 'CustomLatin';
  src: url('/fonts/Roboto-VariableFont_wdth,wght.ttf') format('truetype');
  font-weight: 100 900;
  font-stretch: 75% 100%;
  unicode-range: U+0000-00FF; /* ASCII範囲：半角英数字や記号 */
}

@font-face {
  font-family: 'CustomLatin';
  src: url('/fonts/Roboto-Italic-VariableFont_wdth,wght.ttf') format('truetype');
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 75% 100%;
  unicode-range: U+0000-00FF;
}
/* Zen Kaku Gothic New（日本語用） */
@font-face {
  font-family: 'CustomJapanese';
  src: url('/fonts/ZenKakuGothicNew-Regular.ttf') format('truetype');
  font-weight: 400;
  unicode-range: U+3000-30FF, U+4E00-9FFF;
}

@font-face {
  font-family: 'CustomJapanese';
  src: url('/fonts/ZenKakuGothicNew-Light.ttf') format('truetype');
  font-weight: 300;
  unicode-range: U+3000-30FF, U+4E00-9FFF;
}

@font-face {
  font-family: 'CustomJapanese';
  src: url('/fonts/ZenKakuGothicNew-Medium.ttf') format('truetype');
  font-weight: 500;
  unicode-range: U+3000-30FF, U+4E00-9FFF;
}

@font-face {
  font-family: 'CustomJapanese';
  src: url('/fonts/ZenKakuGothicNew-Bold.ttf') format('truetype');
  font-weight: 700;
  unicode-range: U+3000-30FF, U+4E00-9FFF;
}

@font-face {
  font-family: 'CustomJapanese';
  src: url('/fonts/ZenKakuGothicNew-Black.ttf') format('truetype');
  font-weight: 900;
  unicode-range: U+3000-30FF, U+4E00-9FFF;
}
body {
    font-family: 'CustomLatin', 'CustomJapanese', sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.75;
    letter-spacing: 0.1em;
    font-size: 14px;
}
.sp-text { display: inline; }
.pc-text { display: none; }
.sp-block { display: block; }
#RelatedProduct-product_area-wrap a p,
#page_product_detail .ec-checkProductRole__list a p {
    line-break: anywhere;
}
.ec-role {
font-size: 14.5px;
letter-spacing: 0.5px;
line-height: 1.75;
}
div.ec-layoutRole__contents p {
    margin-bottom: 1.25em;
}
.ec-headerNaviRole .ec-headerNaviRole__right.fixed {
  width: fit-content;
}
ol {
    padding-left: 0;
    counter-reset: listCounter;
    margin: 2em 0;
}
ol > li {
    padding-left: 1.5em;
    position: relative;
    counter-increment: listCounter;
    margin-bottom: 0.75em;
}
ol > li:before {
    position: absolute;
    content: counter(listCounter) ".";
    top: 0;
    left: 0;
}
ul.list-items {
    margin: 0.5em 0;
}
ul.list-items > li {
    position: relative;
    padding-left: 1em;
    margin-bottom: 0.5em;
}
ul.list-items > li:before {
    position: absolute;
    content: "";
    top: 0.65em;
    left: 0;
    width: 0.5em;
    height: 0.5em;
    background-color: #d3d3d3;
}
.ec-layoutRole__contentBottom {
    margin-top: 7em;
}
form[name="chbox"] {
    width: fit-content;
    margin: 2em auto;
}
form[name="chbox"] label {
    display: flex;
    align-items: center;
}
label input[type="checkbox"][name="cBox"] {
    width: 1.5em;
    height: 1.5em;
    margin-right: 1em;
}
/*----------------------------------------------------
見出し
-----------------------------------------------------*/
/* start : 見出し  */
#shopping-guide-content h2.top-section-title {
    margin-top: 3.5em;
    font-size: 20px;
    color: #212121;
    position: relative;
    margin-bottom: 1.5em;
}
#shopping-guide-content h2.top-section-title::before {
    top: -2.25em;
    height: 2em;
    width: 3.5em;
    position: absolute;
    content: "";
    left: 0px;
    background: url(../img/common/logo.png) no-repeat bottom left;
    background-size: contain;
    height: 2.6em;
    width: 4em;
}
#support_manual_download h2,
#shopping-guide-content h2.section-title {
    font-size: 22px;
    margin-bottom: 1em;
    font-weight: 500;
    color: #212121;
}
#page_help_privacy h3,
#shopping-guide-content h4.sg-item-title {
  font-size: 16px;
  margin-top: 3em;
  margin-bottom: 0.75em;
  color: #212121;
}
#shopping-guide-content h3.faq-info {
  font-size: 20px;
  margin: 1.5em 0 1em;
  color: #E95464;
}
#shopping-guide-content h2.top-section-title,
#shopping-guide-content h3.faq-info {
    line-height: 1.75;
}
#shopping-guide-content h3.sg-subtitle,
.ec-heading-bold {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 1.5em;
    margin-top: 1.75em;
    position: relative;
    line-height: 1.5;
}
#shopping-guide-content h3.sg-subtitle {
    text-indent: -1.25em;
    padding-left: 1.25em;
}
#shopping-guide-content h3.sg-subtitle:after,
.ec-heading-bold:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 2px;
    background-color: rgba(82, 82, 99,0.1);
    bottom: -12px;
    left: 0;
    transform: translateY(-50%);
}
/* end : 見出し  */ 
/*----------------------------------------------------
トップページ
-----------------------------------------------------*/
.section-02 ul li span {
    height: 75px;
    font-weight: 700;
    font-size: 19.5px;
}
/*----------------------------------------------------
商品詳細ページ
-----------------------------------------------------*/
/* ===== start : 詳細情報テーブル ===== */
/* 2列（dt/dd） */
.detail-row {
display: grid;
grid-template-columns: 15% 85%;
}
/* 4列（dt/dd ×2） */
.detail-row-4col {
display: grid;
grid-template-columns: 15% 35% 15% 35%;
}
#ec-productRole__detail__table {
margin-top: 2em;
}
#ec-productRole__detail__table > dl {
    max-width: 1280px;
    width: 100%;
    border-top: 1px solid #212121;
    border-left: 1px solid #212121;
    border-right: 1px solid #212121;
}
#ec-productRole__detail__table > dl > div.detail-row {
    margin: 0;
    border-bottom: 1px solid #3d3d3d;
}
#ec-productRole__detail__table dt {
    background-color: #f8f8f8;
    font-weight: bold;
    justify-content: center;
    display: grid;
}
#ec-productRole__detail__table dt, #ec-productRole__detail__table dd {
padding: 1.15em 1.5em;
margin: 0;
display: flex;
align-items: center;
font-size: 16px;
color: #212121;
}
#ec-productRole__detail__table .detail-row-4col {
    margin: 0;
    border-bottom: 1px solid #3d3d3d;
}
#ec-productRole__detail__table .detail-row.last-row-even dd > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
#ec-productRole__detail__table .detail-row.last-row-even dd > ul > li {
    position: relative;
    display: inline;
    margin-left: 2em;
}
#ec-productRole__detail__table .detail-row.last-row-even dd > ul > li:first-child {
    margin-left: 0;
}
#ec-productRole__detail__table .detail-row.last-row-even dd > ul > li::after {
    position: absolute;
    content: "/";
    top: 50%;
    right: -1.25em;
    transform: translateY(-50%);
    color: #999;
    font-size: 14px;
}
#ec-productRole__detail__table .detail-row.last-row-even dd > ul > li:last-child::after {
    content: none;
}
/* ===== end : 詳細情報テーブル ===== */  
.product_detail_data dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-left: 0;
    margin: 25px 0 30px;
}
.product_detail_data dt {
    width: 80px;
}
.product_detail_data dd {
    width: calc((100% - 160px) / 2);
}
.ec-productRole__info .ec-productRole__description .ec-productRole__description-title + ul > li {
    padding-left: 1.15em;
    text-indent: 0;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.5;
    position: relative;
}
.ec-productRole__info .ec-productRole__description .ec-productRole__description-title + ul > li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "※";
}
/*----------------------------------------------------
取扱説明書ダウンロード
-----------------------------------------------------*/
#support_manual_download div.cate_intro > dl {
    background-color: #f3f3f3;
    padding: 2em;
    border-radius: 5px;
    margin-bottom: 1.5em;
}
#support_manual_download div.cate_intro > dl > dt {
    font-weight: 400;
    margin-bottom: 1.25em;
}
#support_manual_download div.cate_intro > dl > dd {
    margin-bottom: 1em;
    padding-left: 0.75em;
    text-indent: -1em;
}
#support_manual_download div.cate_intro > dl > dd:before {
    content: "・";
}
#support_manual_download div.manual-list {
    margin: 2.5em 0 3.5em;
    line-height: 2.5;
}
#support_manual_download div.manual-list dl {
    margin-bottom: 1.5em;
    font-size: 110%;
}
#support_manual_download div.cate_content03 > ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 16px; 
}
#support_manual_download div.cate_content03 > ul > li {
    width: 180px;          /* 基準サイズ */
    aspect-ratio: 1 / 1;  /* 正方形 */
    border: 1px solid #ababab;
}
#support_manual_download div.cate_content03 > ul > li a {
    display: flex;
    align-items: center;      /* 縦中央 */
    justify-content: center;  /* 横中央 */
    width: 100%;
    height: 100%;
    text-align: center;
    text-decoration: none;
}
#support_manual_download div.cate_content03 > ul > li a span {
    line-height: 1.5;
}
/*----------------------------------------------------
ショッピングガイド
-----------------------------------------------------*/
#shopping-guide-content article {
  line-height: 1.75;
  margin: 3em 0;
}
/* start : ヘッダ  */
#shopping-guide-content ul.nav-buttons {
    justify-content: center; /* 中央揃え */
}
#shopping-guide-content ul.nav-buttons li {
    flex: 1 1 45%; /* 2列2行表示 */
    margin: 5px;
}
#shopping-guide-content ul.nav-buttons > li > a {
padding: 8px 0;
font-size: 18px;
line-height: 2.5;
position: relative;
padding-left: 1.5em;
font-weight: 500;
color: #212121;
}
#shopping-guide-content ul.nav-buttons > li > a::before,
#shopping-guide-content ul.nav-buttons > li > a::after {
position: absolute;
content: "";
top: calc(50%);
left: 0;
width: 12px;
height: 1px;
border-radius: 9999px;
background-color: #212121;
transform-origin: calc(100% - 1px) 50%;
} 
#shopping-guide-content ul.nav-buttons > li > a::before {transform: rotate(45deg);}
#shopping-guide-content ul.nav-buttons > li > a::after {transform: rotate(-45deg);}
/* end : ヘッダ  */
/* start : ボタン  */
#shopping-guide-content div.faq-button,
#shopping-guide-content div.shopping_guide_detailed_information {
    height: 60px;
}
#shopping-guide-content div.faq-button {
    margin-top: 2em;
    background-color: #FAFAFA;
}
#shopping-guide-content div.shopping_guide_detailed_information {
    background-color: #E00040;
    margin: 2em 0 3em;
}
#shopping-guide-content div.faq-button a,
#shopping-guide-content div.shopping_guide_detailed_information a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 60px;
    position: relative;
}
#shopping-guide-content div.faq-button a {
    border: 1px solid #707070;
    font-size: 16px;
    color: #212121;
}
#shopping-guide-content div.shopping_guide_detailed_information a {
    font-weight: 600;
    padding-left: 1.25em;
    color: #fff;
}
#shopping-guide-content div.faq-button a::before,
#shopping-guide-content div.faq-button a::after,
#shopping-guide-content div.shopping_guide_detailed_information a::before,
#shopping-guide-content div.shopping_guide_detailed_information a::after  {
    content: "";
    position: absolute;
    top: calc(50% - 1.5px);
    left: 4em;
    width: 12px;
    height: 1.5px;
    border-radius: 9999px;
    transform-origin: calc(100% - 1.5px) 50%;
}
#shopping-guide-content div.faq-button a::before,
#shopping-guide-content div.faq-button a::after  {
    background-color: #212121;
}
#shopping-guide-content div.shopping_guide_detailed_information a::before,
#shopping-guide-content div.shopping_guide_detailed_information a::after {
    background-color: #fff;
}
#shopping-guide-content div.faq-button a::before,
#shopping-guide-content div.shopping_guide_detailed_information a::before {
    transform: rotate(45deg);
}
#shopping-guide-content div.faq-button a::after,
#shopping-guide-content div.shopping_guide_detailed_information a::after {
    transform: rotate(-45deg);
}
/* end : ボタン  */
/* start : step  */
    /*step color*/
    #shopping-guide-content dl.flow-list > dt {
        position: relative;
    }
    #shopping-guide-content dl.flow-list > dt:before {
        content: "Step " counter(step);
        counter-increment: step;
        font-weight: bold;
        position: absolute;
        color: #fff;
        border-radius: 5px;
        top: calc(50% - 0.5em);
        left: -6em;
        width: 5em;
        height: 5em;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    #shopping-guide-content dl.flow-list > dd {
    /*height: 3.5em;*/
    line-height: 1.5;
    display: flex;
    align-items: center;
    margin-bottom: 2.5em;
    }
    #shopping-guide-content dl.flow-list {
    margin: 2em auto;
    counter-reset: step;
    padding-left: 6em;
    }
    #shopping-guide-content ul.flow-list {
        counter-reset: step;
        margin: 3em 0;
    }
    #shopping-guide-content ul.flow-list > li {
        display: grid;
        grid-template-columns: 20% 80%;
        align-items: center;
        margin-bottom: 1.5em;
        line-height: 1.5;
    }
    #shopping-guide-content ul.flow-list > li::before {
        content: "Step " counter(step);
        counter-increment: step;
        font-weight: bold;
        color: #fff;
        display: flex;
        align-items: center;
        height: 4em;
        justify-content: center;
        margin-right: 0.5em;
        border-radius: 5px;
    }
    #shopping-guide-content ul.flow-list > li:nth-child(1)::before,
    #shopping-guide-content dl.flow-list > dt:nth-child(1)::before {
        background-color: #00B0E0;
    }
    #shopping-guide-content ul.flow-list > li:nth-child(2)::before,  
    #shopping-guide-content dl.flow-list > dt:nth-child(3)::before {
        background-color: #0040E0;
    }  
    #shopping-guide-content ul.flow-list > li:nth-child(3)::before,  
    #shopping-guide-content dl.flow-list > dt:nth-child(5)::before {
        background-color: #3100E0;
    }  
    #shopping-guide-content ul.flow-list > li:nth-child(4)::before,  
    #shopping-guide-content dl.flow-list > dt:nth-child(7)::before {
        background-color: #A100E0;
    }  
    #shopping-guide-content ul.flow-list > li:nth-child(5)::before,  
    #shopping-guide-content dl.flow-list > dt:nth-child(9)::before {
        background-color: #E000B0;
    }  
    #shopping-guide-content ul.flow-list > li:nth-child(6)::before,  
    #shopping-guide-content dl.flow-list > dt:nth-child(11)::before {
        background-color: #E00040;
    }
/* end : step  */
/* start : blockquote  */
/*note*/
#shopping-guide-content blockquote.note > p {
    margin: 1em 0;
    position: relative;
}
#shopping-guide-content blockquote.note > p > span.sp-block {
    font-weight: 600;
    padding-left: 2.5em;
    margin-bottom: 0.5em;
}
#shopping-guide-content blockquote.note > p > span.sp-block:before {
    content: "";
    height: 2em;
    width: 2em;
    background: url(../img/common/icon_attention.svg) no-repeat left top;
    position: absolute;
    top: 1em;
    left: 0;
    transform: translateY(-50%);
    background-size: contain;
}
#shopping-guide-content blockquote.note > ul > li:first-child::before {
    left: -2.5em;
}
/*info*/
#shopping-guide-content blockquote.info .title {
    position: relative;
    margin-top: 2em;
    margin-bottom: 1em;
    padding-left: 1.5em;
    font-weight: 600;
}
#shopping-guide-content blockquote.info .title::before {
    position: absolute;
    content: "i";
    color: #fff;
    width: 1.25em;
    height: 1.25em;
    text-align: center;
    background-color: #ED1C23;
    top: 50%;
    left: 0;
    border-radius: 1em;
    transform: translateY(-50%);
    line-height: 1.25;
}
/* end : blockquote  */ 
/* start : table  */
/*list*/
#shopping-guide-content dl.dl-table.list {
    margin-bottom: 2em;
}
#shopping-guide-content dl.dl-table.list dt {
    background-color: #212121;
    display: inline-block;
    border-radius: 30px;
    width: 80%;
    padding: 0.5em 1.5em;
    font-size: 115%;
    margin-bottom: 0.75em;
    color: #fff;
}
#shopping-guide-content dl.dl-table.list dd {
    position: relative;
    border: none;
    padding: 0;
    padding-left: 2.75em;
    line-height: 2.25;
}
#shopping-guide-content dl.dl-table.list dd::before {
    position: absolute;
    content: "";
    width: 0.5em;
    height: 0.5em;
    top: 50%;
    left: 1.5em;
    transform: translateY(-50%);
    border-radius: 10px;
    background-color: #212121;
}
/*mapping*/
#shopping-guide-content dl.dl-table.mapping {
    display: grid;
    grid-template-columns: 55% 45%;
}
#shopping-guide-content dl.dl-table.mapping dt {
    background-color: #212121;
    padding: 1.15em 0;
    color: #fff;
    text-align: center;
}
#shopping-guide-content dl.dl-table.mapping dd {
    border-left: 1px solid #d3d3d3;
    border-bottom: 1px solid #d3d3d3;
    padding: 1em 1.5em;
}
#shopping-guide-content dl.dl-table.mapping dd:nth-child(2n) {
    border-right: 1px solid #d3d3d3;
}
/*two-column three-column*/
#shopping-guide-content dl.dl-table.two-column {
    margin: 1em 0;
}
#shopping-guide-content dl.dl-table.two-column > dt,
#shopping-guide-content dl.dl-table.three-column > dt {
    display: none;
}
#shopping-guide-content dl.dl-table.two-column > dd:nth-child(2n+1),
#shopping-guide-content dl.dl-table.three-column > dd:nth-child(3n+1) {
    background-color: #525263;
    padding: 0.1em;
    color: #fff;
    text-align: center;
    font-weight: 400;
    margin-top: 1.25em;
    margin-bottom: 0.25em;
}
/*配送・お届けまでの流れのレイアウト*/
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column {
  display: grid;
  grid-template-columns: 30% 1fr;
  row-gap: 8px;
  margin-bottom: 3em;
}
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column > dd:nth-child(3n+1) {
    background-color: unset;
    color: #525263;
    text-align: left;
}
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd.span2 {
    grid-column: 1 / -1; /* 横幅いっぱい */
    background-color: #525263;
    color: #fff;
    text-align: center;
    padding: 8px 0;
    font-weight: bold;
    margin-top: 0.75em;
}
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2) {
    padding: 6px 8px;
    display: flex;
    align-items: center;
    margin: 0;
}
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(2),
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(4),
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(7),
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(9) {
  grid-column: 1;
  font-weight: 600;
}
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(3),
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(5),
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(8),
#shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(10)
 {grid-column: 2;}

/*4列表示*/
#shopping-guide-content dl.dl-table.four-column {
    grid-template-columns: 22% 26% 26% 26%;
}
/*中央寄せの処理*/
#shopping-guide-content dl.dl-table.four-column > dt {
    display: flex;
    align-items: center;
}
#shopping-guide-content dl.dl-table.four-column > dt:not(:first-child) {
    text-align: center;
    justify-content: center;
}
/*左端のセルをスキップ（4ごとに1つ除外）*/
#shopping-guide-content dl.dl-table.four-column > dd:nth-child(4n+2),
#shopping-guide-content dl.dl-table.four-column > dd:nth-child(4n+3),
#shopping-guide-content dl.dl-table.four-column > dd:nth-child(4n+4) {
    text-align: center;
    justify-content: center;
}
#shopping-guide-content dl.dl-table.four-column > dd:nth-child(4n) {
    border-right: 1px solid #d3d3d3;
} 
/* end : table  */
/* start : blockquote  */
/*note*/
#shopping-guide-content blockquote.note > ul {
    background-color: #f9f9f9;
    margin: 1em 0;
}
#shopping-guide-content blockquote.note > ul > li {
    position: relative;
    padding: 0 1em;
}
#shopping-guide-content blockquote.note > ul > li:first-child {
    font-weight: 600;
}
#shopping-guide-content blockquote.note > ul > li:first-child::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 2em;
    width: 2em;
    background: url(../img/common/icon_attention.svg) no-repeat left top;
    background-size: contain;
}
#shopping-guide-content blockquote.note > ul {
    padding: 1em 0.5em;
}
#shopping-guide-content blockquote.note > ul > li:first-child {
    padding-left: 4em;
    margin-bottom: 0.75em;
}
#shopping-guide-content blockquote.note > ul > li:first-child::before {
    left: 1em;
}
/* end : blockquote  */
/* start : required-fields  */
#shopping-guide-content dl.required-fields {
    margin: 1.5em 0;
    display: grid;
    grid-template-columns: 30% 70%;
    border-top: 1px solid #d3d3d3;
}
#shopping-guide-content dl.required-fields > dt,
#shopping-guide-content dl.required-fields dd {
    padding: 1em;
    border-left: 1px solid #d3d3d3;
    border-bottom: 1px solid #d3d3d3;
}
  #shopping-guide-content dl.required-fields dt {
    display: flex;
    align-items: center;
    padding-right: 0;
    padding-left: 0.5em;
    background-color: #525263;
    color: #fff;
}
#shopping-guide-content dl.required-fields dd {
    border-right: 1px solid #d3d3d3;
}
/* end : required-fields  */
/* start : store_list  */
#shopping-guide-content dd.store_list ol.convenience_store {
    margin-left: 2em;
    position: relative;
    line-height: 2;
}
#shopping-guide-content dd.store_list ol.convenience_store::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 3.25em;
    width: 3.25em;
    left: -2em;
}
/*ファミマアイコン*/
#shopping-guide-content dd.store_list ol.convenience_store.familymart::before {
    background: url(../img/common/convenience_store/icn_familymart.svg) no-repeat left top;
    background-size: contain;
}
/*ローソンアイコン*/
#shopping-guide-content dd.store_list ol.convenience_store.lawson::before {
    background: url(../img/common/convenience_store/icn_lawson.svg) no-repeat left top;
    background-size: contain;
}
/*ミニストップアイコン*/
#shopping-guide-content dd.store_list ol.convenience_store.ministop::before {
    background: url(../img/common/convenience_store/icn_ministop.svg) no-repeat left top;
    background-size: contain;
}
/*セイコーマートアイコン*/
#shopping-guide-content dd.store_list ol.convenience_store.seicomart::before {
    background: url(../img/common/convenience_store/icn_seicomart.svg) no-repeat left top;
    background-size: contain;
}
/*デイリーヤマザキアイコン*/
#shopping-guide-content dd.store_list ol.convenience_store.yamazaki::before {
    background: url(../img/common/convenience_store/icn_daily.svg) no-repeat left top;
    background-size: contain;
}
#shopping-guide-content dd.store_list ol.convenience_store li.store_name {
    font-weight: 700;
}
/* end : store_list  */ 
/* start : guide-info  */
#shopping-guide-contact ul.guide-info-note > li {
    position: relative;
    padding-left: 1.25em;
}
#shopping-guide-contact ul.guide-info-note > li:before {
    position: absolute;
    content: "※";
    top: 0;
    left: 0;
}
#shopping-guide-contact {
    background-color: #f9f9f9;
    padding: 2em;
    line-height: 2;
    font-size: 115%;
    border-radius: 5px;
}
#shopping-guide-contact ul.shopping-guide-info-contact {
    margin-bottom: 0.75em;
}
#shopping-guide-contact > div > ul.shopping-guide-info-business_hours {
    font-size: 90%;
    line-height: 1.75;
    margin-bottom: 0.75em;
}
#shopping-guide-contact div.company-name {
    font-weight: 700;
    margin-bottom: 0.75em;
}
ul.guide-info-note {
    font-size: 80%;
}
/* end : guide-info  */ 
/* start : bullet-list  */
#shopping-guide-content dl.bullet-list {
    margin-top: 2.5em;
}
#shopping-guide-content dl.bullet-list dt.marker {
  margin-bottom: 0.5em;
  position: relative;
}
#shopping-guide-content dd.item {
  margin-bottom: 0.75em;
}
#shopping-guide-content ul.bullet-list li.marker {
    padding-left: 1.25em;
    position: relative;
    margin-top: 0.75em;
}
#shopping-guide-content ul.bullet-list li.marker::before {
  position: absolute;
  content: "";
  height: 0.75em;
  width: 0.75em;
  transform: translateY(-50%);
  background-color: #d3d3d3;
  border-radius: 2.5px;
  left: 0;
}
#shopping-guide-content dl.bullet-list {
  padding-left: 1.5em;
}
#shopping-guide-content dl.bullet-list dt.marker::before {
  position: absolute;
  content: "";
  height: 1em;
  width: 1em;
  background-color: #d3d3d3;
  top: 50%;
  left: -1.5em;
  transform: translateY(-50%);
  border-radius: 2.5px;
}
#shopping-guide-content dd.list-item {
  position: relative;
  margin-bottom: 0.5em;
}
#shopping-guide-content dd.list-item::before {
  position: absolute;
  content: "";
  background-color: #d3d3d3;
  transform: translateY(-50%);
  border-radius: 2px;
  height: 0.5em;
}
  #shopping-guide-content ul.bullet-list li.marker::before {
    top: 0.9em;
  }
    #shopping-guide-content dd.list-item::before {
    top: 0.9em;
    left: -1.25em;
    width: 0.5em;
  }
/* end : bullet-list  */
/* start : sg-feaure-list  */
#shopping-guide-content dl.sg-feaure-list {
  /* display: grid; */
  /* grid-template-columns: 15%  85%; */
  align-items: center;
  margin: 2em 0;
  /* column-gap: 0.75em; */
  /* row-gap: 1.25em; */
}
#shopping-guide-content dl.sg-feaure-list dt.marker {
  display: flex;
  justify-content: center;
  color: #fff;
  padding: 0.25em 0;
  font-weight: 500;
  margin: 0.55em 0;
}
#shopping-guide-content dl.sg-feaure-list dd.item {
  margin-bottom: 0;
}
/*見出し部分のカラー*/
#shopping-guide-content dl.sg-feaure-list dt.marker:nth-child(1) {
  background-color: #EB31C9;
}
#shopping-guide-content dl.sg-feaure-list dt.marker:nth-child(3) {
  background-color: #EB316C;
}
#shopping-guide-content dl.sg-feaure-list dt.marker:nth-child(5) {
  background-color: #EB5331;
}
/* end : sg-feaure-list  */ 

/*----------------------------------------------------
よくある質問
-----------------------------------------------------*/
  /* ===== start : 調整 ===== */ 
  #page_faq .tab-group-name {
    background-color: #525263;
    font-size: 16px;
    font-weight: 500;
  }
  #page_faq .nav-tabs>li.current>a,
  #page_faq .nav-tabs>li.current>a:focus,
  #page_faq .nav-tabs>li.current>a:hover {background-color:#fff;}
  /* ===== end : 調整 ===== */ 

/* =============================================================
Tablet（769px〜1140px：タブレット）
※スマホ Base を上書きする箇所だけまとめる
============================================================= */
/*----------------------------------------------------
ショッピングガイド
-----------------------------------------------------*/
@media (min-width: 769px) and (max-width: 1024px) {
    /* start : ヘッダ  */
    #shopping-guide-content ul.nav-buttons > li  {
        flex: 1 1 45%; /* 3列表示に調整 */
    }
    /* end : ヘッダ  */
}
@media (min-width: 769px) and (max-width: 1140px) {
    /* start : step  */
    #shopping-guide-content dl.flow-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }
    #shopping-guide-content dl.flow-list dt,
    #shopping-guide-content dl.flow-list dd {
        grid-column: span 1;
    }

    /* end : step  */ 

}
/* =============================================================
Desktop（1141px〜：PC）
※従来 @media(min-width:768px) にあったPC用コードをすべてここへ
============================================================= */
@media (min-width: 1141px) {
    body {
        font-size: 16px;
    }
    .ec-role {font-size: 16px;}
      .ec-footerRole .ec-footerRole__inner {
    max-width: 1280px;
    }
    a[href*="tel:"] {
        pointer-events: none; /*telを無効化*/
        color: #525263;
        cursor: default;
        text-decoration: none;
    }
    .pc-text { display: inline; }
    .sp-text { display: none; }
    .sp-block { display: inline; }
    .ec-off1Grid .ec-off1Grid__cell {
        width: 100%;
        margin-left: 0;
    }
    /*----------------------------------------------------
    見出し 
    -----------------------------------------------------*/
    /* start : 見出し  */
    #shopping-guide-content h2.top-section-title {
        padding-left: 2.5em;
    }
    #shopping-guide-content h2.top-section-title span.hide {
        color: #fff;
    }
    #shopping-guide-content h2.top-section-title::before {
        top: 0px;
        transform: translateY(-50%);
    }
    #shopping-guide-content h2.section-title {
        font-size: 24px;
        font-weight: 600;
        margin-bottom: 2rem;
        margin-top: 1.5rem;
    }
    #shopping-guide-content h3.sg-subtitle,
    .ec-heading-bold {
        font-size: 20px;
        font-weight: 600;
        margin-bottom: 2rem;
        margin-top: 3rem;
    }
    #shopping-guide-content h3.sg-subtitle:after,
    .ec-heading-bold:after {
      background-color: unset;
    }
    #page_help_privacy h3,
    #shopping-guide-content h4.sg-subtitle {
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 2rem;
        margin-top: 1.5rem;
    }
    /* end : 見出し  */ 

    /*----------------------------------------------------
    商品詳細ページ
    -----------------------------------------------------*/

    /*----------------------------------------------------
    ショッピングガイド
    -----------------------------------------------------*/
    #shopping-guide-content article {
        line-height: 1.75;
        margin: 4em 0;
    }
    /*imgの調整*/
    #shopping_payment_methods dd.sg-img {width: 416px;}
    /* start : ヘッダ  */
    #shopping-guide-content ul.nav-buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; /* li間の隙間を均等に */
        max-width: 1280px;
        margin: 0 auto;
        padding: 0;
        list-style: none;
    }
    #shopping-guide-content ul.nav-buttons > li {
        background-color: #f7f7f7;
        border: 1px solid #999;
        border-radius: 2.5px;
        flex: 1 1 22%;
        margin: 0.5%;
        box-sizing: border-box;
    }
    #shopping-guide-content ul.nav-buttons > li > a {
        position: relative;
        display: block;
        text-align: center;
        padding: 1.25em 0;
        text-decoration: none;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        background-color: #f0f0f0;
        border-radius: 5px;
    }
    #shopping-guide-content ul.nav-buttons > li > a::before,
    #shopping-guide-content ul.nav-buttons > li > a::after {
      content: none;
    } 
    /* end : ヘッダ  */
    /* start : ボタン  */
    #shopping-guide-content div.faq-button {
        width: 505px;
    }
    #shopping-guide-content div.faq-button:hover,
    #shopping-guide-content ul.nav-buttons > li > a:hover {opacity: 0.6;}
    #shopping-guide-content div.shopping_guide_detailed_information {
        width: 505px;
    }
    #shopping-guide-content div.shopping_guide_detailed_information:hover {opacity: 0.6;}
    #shopping-guide-content div.shopping_guide_detailed_information a::before,
    #shopping-guide-content div.shopping_guide_detailed_information a::after {
        left: 2em;
    }
    /* end : ボタン  */
    /* start : step  */
    /*dl*/
    #shopping-guide-content dl.flow-list {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        gap: 20px;
        max-width: 1280px;
    }
    #shopping-guide-content dl.flow-list > dt {
        font-weight: bold;
        grid-column: span 2;
    }
    #shopping-guide-content dl.flow-list > dd {
        margin-left: 0;
        line-height: 1.5;
        grid-column: span 5;
    }
    #shopping-guide-content dl.flow-list > dt,
    #shopping-guide-content dl.flow-list > dd {
        margin: 0;
        padding: 5px 10px;
        box-sizing: border-box;
    }
    /*ul*/
    #shopping-guide-content ul.flow-list {
        max-width: 1280px;
    }
    #shopping-guide-content ul.flow-list > li {
        display: grid;
        grid-template-columns: 10% 90%;
        column-gap: 12px;
        margin-bottom: 20px;
        align-items: center;
    }
    /* end : step  */
    /* start : blockquote  */
    /*note*/
    #shopping-guide-content blockquote.note > p {
    position: relative;
    }
    /* end : blockquote  */
    /* start : required-fields  */
    #shopping-guide-content dl.required-fields dt {
    padding-left: 2em;
    background-color: #212121;
    }
    /* end : required-fields  */
    /* start : table  */
    #shopping-guide-content dl.dl-table {
        display: grid;
        margin-top: 2em;
    }
    /*5列表示*/
    #shopping-guide-content dl.dl-table.five-column {
        grid-template-columns: repeat(5,20%);
    }
    /*中央寄せの処理*/
    #shopping-guide-content dl.dl-table.five-column > dt,
    #shopping-guide-content dl.dl-table.five-column > dd {
        text-align: end;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #shopping-guide-content dl.dl-table.five-column > dd:nth-child(5n) {
        border-right: 1px solid #d3d3d3;
    }
    /*4列表示*/
    #shopping-guide-content dl.dl-table.four-column {
        grid-template-columns: 22% 26% 26% 26%;
    }
    /*中央寄せの処理*/
    #shopping-guide-content dl.dl-table.four-column > dt {
        display: flex;
        align-items: center;
    }
    #shopping-guide-content dl.dl-table.four-column > dt:not(:first-child) {
        text-align: center;
        justify-content: center;
    }
    /*左端のセルをスキップ（4ごとに1つ除外）*/
    #shopping-guide-content dl.dl-table.four-column > dd:nth-child(4n+2),
    #shopping-guide-content dl.dl-table.four-column > dd:nth-child(4n+3),
    #shopping-guide-content dl.dl-table.four-column > dd:nth-child(4n+4) {
        text-align: center;
        justify-content: center;
    }
    #shopping-guide-content dl.dl-table.four-column > dd:nth-child(4n) {
        border-right: 1px solid #d3d3d3;
    }
    /*3列表示*/
    #shopping-guide-content dl.dl-table.three-column,
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column {
        grid-template-columns: 20% 20% 60%;
        row-gap:0;
    }
    #shopping-guide-content dl.dl-table.three-column dt,
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dt {
        /*上下中央寄せ*/
        display: flex;
        align-items: center;
    }
    #shopping-guide-content dl.dl-table.three-column dd:nth-child(3n),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:nth-child(3n) {
        border-right: 1px solid #d3d3d3;
    }
    #shopping_order_delivery_flow dl.dl-table.three-column dd:nth-child(3n),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:nth-child(3n) {
        border-right: none;
    }
    #shopping_order_delivery_flow dl.dl-table.three-column dd:nth-child(6),
    #shopping_order_delivery_flow dl.dl-table.three-column dd:nth-child(8),
    #shopping_order_delivery_flow dl.dl-table.three-column dd:nth-child(11),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:nth-child(6),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:nth-child(8),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:nth-child(11)     {
        border-right: 1px solid #d3d3d3;
    }
    #shopping-guide-content dl.dl-table.three-column dd:last-child,
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:last-child {
        border-right: 1px solid #d3d3d3;
    }  
    #shopping-guide-content dl.dl-table.two-column dt,
    #shopping-guide-content dl.dl-table.three-column dt,
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dt {
    display: block;
    }
    #shopping-guide-content dl.dl-table.two-column{
        grid-template-columns: 25%  75%;
        border-top: 1px solid #d3d3d3;
    }
    #shopping-guide-content dl.dl-table.two-column > dd:nth-child(2n) {
        border-right: 1px solid #d3d3d3;
    }
    /*セルの設定*/
    #shopping-guide-content dl.dl-table > dt {
        background-color: #212121;
        padding: 1.15em 1.5em;
        color: #fff;
    }
    #shopping-guide-content dl.dl-table > dd {
        padding: 1.15em 1.5em;
        border-left: 1px solid #d3d3d3;
        border-bottom: 1px solid #d3d3d3;
        /*上下中央寄せ*/
        display: flex;
        align-items: center;
    }
    /*row-spanの処理*/
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column > dd.span2 {
        grid-column: 1;
        grid-row: auto / span 2;
    }
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2) {padding: 1em;}
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(2),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(4),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(7),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(9) {
      grid-column: 2;
    }
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(3),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(5),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(8),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd:not(.span2):nth-of-type(10) {
    grid-column: 3;
}
    #shopping-guide-content dl.dl-table.two-column > dd:nth-child(2n+1),
    #shopping-guide-content dl.dl-table.three-column > dd:nth-child(3n+1),
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column dd.span2,
    #shopping-guide-content #shopping_order_delivery_flow dl.dl-table.three-column > dd:nth-child(3n+1) {
    background-color: unset;
    margin: 0;
    color: #525263;
    padding-left: 1.5em;
    text-align: left;
    }
    #shopping-guide-content dl.flow-list > dt {
        grid-column: 2;
        display: flex;
        align-items: center;
    }
    #shopping-guide-content dl.flow-list > dt:before {
    width: 15em;
    height: 2.5em;
    left: -16.75em;
    transform: translateY(-50%);
    top: 50%;
    }
    /* end : table  */
    /* start : store_list  */
    #shopping-guide-content dd.store_list {
        margin: 2em 0;
    }
    /* end : store_list  */ 
    /* start : guide-info  */
    section#shopping-guide-contact {
        max-width: 1280px;
        margin-top: 7em;
        margin-bottom: 7em;
    }
    section#shopping-guide-contact .guide-info {
        background-color: #f9f9f9;
        text-align: center;
        font-size: 18px;
        padding: 3em;
        border: 3px solid #adadad;
        border-radius: 5px;
    }
    #shopping-guide-contact ul.shopping-guide-info-contact {
        display: grid;
        grid-template-columns: 1fr 1fr 0.5fr 1fr 1fr;
        column-gap: 1.5em;
        margin-bottom: 0.5em;
    }
    #shopping-guide-contact ul.shopping-guide-info-contact > li:nth-child(1) {
        grid-column: 2;
    }
    #shopping-guide-contact ul.shopping-guide-info-business_hours {
        display: grid;
        grid-template-columns: 1fr 1fr 1.5fr 1.5fr 1.5fr 1fr 1fr;
        column-gap: 1em;
        font-size: 16px;
    }
    #shopping-guide-contact ul.shopping-guide-info-business_hours > li:nth-child(1) {
        grid-column: 3;
    }
    #shopping-guide-contact .company-name {
        font-size: 20px;
        margin: 1.25em 0;
        font-weight: 500;
    }
    #shopping-guide-contact ul.guide-info-note {
        width: fit-content;
        text-align: left;
        margin: 0 auto 0;
        font-size: 14px;
    }
    /* end : guide-info  */ 
    /* start : bullet-list  */
    #shopping-guide-content dd.list-item {
        padding-left: 0.5em;
    }
    #shopping-guide-content dd.list-item::before {
        top: 50%;
        left: -0.25em;
        width: 0.3em;
    }
    #shopping-guide-content ul.bullet-list li.marker {
        margin-left: 1em;
    }
    #shopping-guide-content ul.bullet-list li.marker::before {
        top: 50%;
    }
    /* end : bullet-list  */ 
    /* start : sg-feaure-list  */
    #shopping-guide-content dl.sg-feaure-list {
        display: grid; 
        grid-template-columns: 15%  85%; 
        column-gap: 0.75em; 
        row-gap: 1.25em; 
    }
    /*----------------------------------------------------
    取扱説明書ダウンロード
    -----------------------------------------------------*/
    #support_manual_download div.manual-list dl {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        column-gap: 10em;
    }
}