body { background-color: #F0F0F0; }
.wrapper { padding: clamp(0.667rem, calc(-3.333rem + 10vw), 4.667rem) 0; background-color: #fff; border-radius: clamp(0px, 5.8651026393vw, 80px); min-height: clamp(10rem, calc(-13.333rem + 58.333vw), 33.333rem); }
.footer { position: relative; }
.footer:before { content: ''; position: absolute; width: 100%; top: -12vw; bottom: 0; left: 0; background-color: #C03032; z-index: -1; }

.__heading .c-h1 { margin-bottom: 0.5em; padding-left: 1rem; border-left: 4px solid #C03032; line-height: 1.12; font-weight: 600; }

/* aside --------------------*/
.wrapper .aside section.__block .__body { padding: 1.25em 1.25em; letter-spacing: 0; }
.aside section.__block.__block--login.__is-guest .__body .__login-form dl dd { width: 100%; max-width: 13.15em; }
.aside section.__block.__block--login.__is-guest .__body .__login-form dl dd input { box-shadow: none; border: 2px solid #ddd; }
.aside section.__block.__block--login.__is-guest .__body .__login-form dl dt { display: none; }
/* __heading */
.aside section.__block .__heading.__heading--default, 
.aside section.__block .__heading.__heading--custom { margin: 0; padding: 0.66rem 0; text-align: center; color: #fff; background-color: #C03032; border: none; font-weight: 600; }
.aside section.__block .__heading.__heading--default span { position: relative; padding-left: 1.26em; }
.aside section.__block .__heading.__heading--default span::before { content: ''; position: absolute; transform: translateY(-50%); top: 50%; font-weight: 500; font-family: 'Material Symbols Rounded'; left: 0; font-size: 1.06em; }
.aside section.__block.__block--login .__heading.__heading--default span::before { content: '\ea77'; }
.aside section.__block.__block--cart .__heading.__heading--default span::before { content: '\e8cc'; }
.aside section.__block.__block--category .__heading.__heading--default span::before { content: '\f10b'; }
.aside section.__block.__block--feature .__heading.__heading--default span::before { content: '\f05b'; top: 55%; }
/* login button */
.aside section.__block.__block--login.__is-guest .__body .__login-link .__link,
.aside section.__block.__block--login.__is-guest .__body .__login-form .__submit .__button { display: inline-block; width: 100%; max-width: 13.15em; background-color: #fff; border: 2px solid #F3D7D8; border-radius: 3.125em; text-align: center; color: #333; padding: 0.38em; }
.aside section.__block.__block--login.__is-guest .__body .__login-link .__link span,
.aside section.__block.__block--login.__is-guest .__body .__login-form .__submit .__button span { position: relative; padding-right: 1.625em; font-size: 0.85em; font-weight: 700; }
.aside section.__block.__block--login.__is-guest .__body .__login-link .__link span::after,
.aside section.__block.__block--login.__is-guest .__body .__login-form .__submit .__button span::after { content: ''; width: 1.125em; height: 1.125em; display: block; position: absolute; right: 0; bottom: 0.0625em; background: url(../img/common/icon-arrow-outward.svg) no-repeat center / cover;}
/* link */
.aside section.__block { max-width: 510px; margin: auto auto 1.5em; background-color: #f7f7f7; border-radius: clamp(1rem, calc(0.333rem + 1.667vw), clamp(1rem, calc(0.333rem + 1.667vw), 1.667rem));  overflow: hidden; }
.aside section.__block.__block--login .__body ul.__menu li a,
.aside section.__block.__block--cart .__body .__to-cart a { position: relative; padding-right: 1.625em; color: #C03032; font-weight: 700; }
.aside section.__block.__block--login .__body ul.__menu li a::before,
.aside section.__block.__block--cart .__body .__to-cart a:before { content: ''; width: 1.125em; height: 1.125em; display: block; position: absolute; right: 0; bottom: 0.0625em; background: url(../img/common/icon-arrow-outward.svg) no-repeat center / cover; }
/* is-member */
.aside section.__block.__block--login.__is-member .__message .__name { font-weight: 700; }
.aside section.__block.__block--login.__is-member .__point { font-weight: 700; }
.aside section.__block.__block--login.__is-member .__point dl dd a { color: #C03032; }
/* cart */
.aside section.__block.__block--cart .__body .__total { font-weight: 700; }
/* feature */
.aside section.__block.__block--feature .__body ul li.__item.__item--text a::after { content: none; }

/* main--product-list */
.body-product-list .wrapper { padding-bottom: unset; }
.main--product-list .c-h1,
.main--product-list .__block--recommend { display: none; }
.main--product-list-keyword .c-h1 { display: block; }
.main.main--product-list section.__list.__list--row ul.__product > li.__item a table tr td.__detail .__status ul li.__label,
.p-product-block ul.__product li.__item a .__status ul li.__label { border-radius: 1.5em; letter-spacing: 0; }
.main.main--product-list section.__list.__list--row ul.__product>li.__item a table tr td.__photo img,
.main.main--product-list section.__list.__list--row ul.__product > li.__item a table tr td.__photo.__is-noimage .__noimage .__wrap { border-radius: clamp(1rem, calc(0.333rem + 1.667vw), clamp(1rem, calc(0.333rem + 1.667vw), 1.667rem)); overflow: hidden; }
.main.main--product-list section.__list.__list--row ul.__product > li.__item a table tr td.__photo img { max-width: 9em;  max-height: 9em; }
/* p-pagination---------------- */
.p-pagination .__link { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
.p-pagination .__link .__next, .p-pagination .__link .__prev { margin: 0 2px; }
.p-pagination .__link ul.__page li.__link a,
.p-pagination .__link ul.__page li.__active span,
.p-pagination .__link .__next a,
.p-pagination .__link .__prev a { padding: 10px 0; width: 35px; height: 35px; }
.p-pagination .__link .__next a, .p-pagination .__link .__prev a { width: 35px; height: 35px;  padding: 7px; }
.p-pagination .__link .__next a::after,
.p-pagination .__link .__prev a::after { padding: 0; font-family: 'Material Icons'; font-style: normal; display: inline-block; line-height: 1.2; text-transform: none; letter-spacing: normal; word-wrap: normal; white-space: nowrap; direction: ltr; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; color: #C03032; font-size: 1.065rem; font-weight: 600; }
.p-pagination .__link .__next a::before,
.p-pagination .__link .__prev a::before { content: none; }
.p-pagination .__link .__next a::after { content: '\e5c8'; }
.p-pagination .__link .__prev a::after { content: '\e5c4'; }

/* main--product-detail-------------- */
/* __main */
.body-product-detail .wrapper { padding-bottom: unset; }
.wrapper .__inner .main.main--product-detail { padding-bottom: 40px; }
.main.main--product-detail section.__information .__primary .__photo .__main { aspect-ratio: 1 / 1; }
.main.main--product-detail section.__information .__primary .__photo .__main img { max-height: unset; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; overflow: hidden; border-radius: 1rem; border-radius: clamp(1.2em, calc(0.4rem + 2vw), 2rem); }
.main.main--product-detail section.__information .__primary .__photo .__main.__is-no-image { max-height: unset; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; overflow: hidden; border-radius: 1rem; border-radius: clamp(1.2em, calc(0.4rem + 2vw), 2rem); background-color: #f0f0f0; display: flex; align-items: center; justify-content: center; text-align: center; }

/* .main.main--product-detail section.__information .__primary .__photoArea .__main { aspect-ratio: 1 / 1; }
.main.main--product-detail section.__information .__primary .__photoArea .__main img { max-height: unset; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; overflow: hidden; border-radius: 1rem; border-radius: clamp(1.2em, calc(0.4rem + 2vw), 2rem); }
.main.main--product-detail section.__information .__primary .__photoArea .__main.__is-no-image { max-height: unset; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; overflow: hidden; border-radius: 1rem; border-radius: clamp(1.2em, calc(0.4rem + 2vw), 2rem); background-color: #f0f0f0; display: flex; align-items: center; justify-content: center; text-align: center; } */
/* sub */
.main.main--product-detail section.__information .__primary .__photo .__sub { margin-top: 7.5px; }
.main.main--product-detail section.__information .__primary .__photo .__sub ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 7.5px; }
.main.main--product-detail section.__information .__primary .__photo .__sub ul .__main,
.main.main--product-detail section.__information .__primary .__photo .__sub ul li { width: calc((100% - 7.5px ) / 2); padding: 0; }
.main.main--product-detail section.__information .__primary .__photo .__sub ul .__main img,
.main.main--product-detail section.__information .__primary .__photo .__sub ul li a img { max-height: unset; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; overflow: hidden; border-radius: 1rem; }
.main.main--product-detail section.__information .__primary .__photo .__sub .__is-no-image { border-radius: 1rem; }
/* .main.main--product-detail section.__information .__primary .__photoArea .__sub { margin-top: 7.5px; }
.main.main--product-detail section.__information .__primary .__photoArea .__sub ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 7.5px; }
.main.main--product-detail section.__information .__primary .__photoArea .__sub ul .__main,
.main.main--product-detail section.__information .__primary .__photoArea .__sub ul li { width: calc((100% - 7.5px ) / 2); }
.main.main--product-detail section.__information .__primary .__photoArea .__sub ul .__main img,
.main.main--product-detail section.__information .__primary .__photoArea .__sub ul li a img { max-height: unset; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; overflow: hidden; border-radius: 1rem; }
.main.main--product-detail section.__information .__primary .__photoArea .__sub .__is-no-image { border-radius: 1rem; } */
/* __secondary  */
.main.main--product-detail section.__information .__secondary .__status ul li.__item { border-radius: 1.5em; letter-spacing: 0; }
.main.main--product-detail section.__information .__secondary { padding: clamp(1.333rem, calc(-0.333rem + 4.167vw), 3rem) clamp(0.933rem, calc(-0.8rem + 4.333vw), 2.667rem); border-radius: clamp(1.2em, calc(0.4rem + 2vw), 2rem); border: 1px solid #ddd; }
.main.main--product-detail section.__information .__secondary h1.__title { padding-left: 1rem; border-left: 4px solid #C03032; font-size: 1.5rem; line-height: 1.12; }
.main.main--product-detail section.__information .__secondary .__description { font-weight: 400; }
/* __table */
.main.main--product-detail section.__information .__secondary .__spec { margin-top: 0; }
.main.main--product-detail section.__information .__secondary .__spec .__table { font-size: 1rem; }
.main.main--product-detail section.__information .__secondary .__spec .__table tr { display: block; margin-top: clamp(1.333rem, calc(0.667rem + 1.667vw), 2rem); }
.main.main--product-detail section.__information .__secondary .__spec .__table tr th,
.main.main--product-detail section.__information .__secondary .__spec .__table tr td { display: block; width: 100%; border: unset; }
.main.main--product-detail section.__information .__secondary .__spec .__table tr th { padding: 0 0 0 0.6rem; color: #C03032; font-weight: 700; background-color: unset; position: relative; }
.main.main--product-detail section.__information .__secondary .__spec .__table tr th::before { content: '\25cf'; font-size: 4px; font-weight: 700; top: 50%;position: absolute; transform: translateY(-50%); left: 0; }
.main.main--product-detail section.__information .__secondary .__spec .__table tr td { padding: 0.3em 0 0 0; font-weight: 400; }
.main.main--product-detail section.__information .__secondary .__spec .__table tr td iframe { margin-top: 0.333rem; border-radius: clamp(1rem, calc(0.667rem + 0.833vw), 1.333rem); width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; max-width: 100%;  }
/* __control */
.main.main--product-detail section.__information .__secondary .__control { display: grid; }
.main.main--product-detail section.__information .__secondary .__control span.__download { order: 1; }
.main.main--product-detail section.__information .__secondary .__control span.__bookmark { order: 2; }
.main.main--product-detail section.__information .__secondary .__control span.__bookmark .__button { width: 100%; margin-top: 0.333rem; padding-left: 2rem; padding-right: 2rem; display: inline-block; background-color: #fff; border: 2px solid #F7DFBA; border-radius: 3.125em; text-align: center; color: #333; font-size: 1.066rem; font-weight: 500; line-height: 2.3; }
.main.main--product-detail section.__information .__secondary .__control span.__bookmark .__button.__is-added { background-color: #F7DFBA; }
/* __download */
.main.main--product-detail section.__information .__secondary .__control span.__download { display: block; }
.main.main--product-detail section.__information .__secondary .__control span.__download .__button {  margin-top: 0.333rem; display: inline-block; width: 100%; background-color: #fff; border: 2px solid #F3D7D8; border-radius: 3.125em; text-align: center; color: #333; font-size: 1.066rem; line-height: 2.15; }
.main.main--product-detail section.__information .__secondary .__control span.__download .__button::before { content: '資料ダウンロード'; color: #333; font-family: "Noto Sans JP", sans-serif; font-weight: 600;}
.main.main--product-detail section.__information .__secondary .__control span.__download .__button::after { content: '\f8ce'; vertical-align: middle; color: #C03032; font-family: 'Material Symbols Rounded'; font-weight: 500; font-size: 1.066rem; }
/* product-set */
.main--product-detail .c-form { margin: 70px 0 120px; }
.body-product-detail .main.main--product-detail section.p-product-set { margin-top: 0; }
/* tr */
/* .p-product-set table tbody tr { border-bottom: 1px solid #ddd; } */
/* th */
.p-product-set table thead tr th { padding: 16px 40px; font-size: 1em; font-weight: 600; text-align: left; border: unset; background-color: #C03032; color: #fff; }
.p-product-set table thead tr th.__price {  display: flex; justify-content: space-between; padding-left: 0; padding-right: 0; }
.p-product-set table thead tr th.__price .__total { order: 2; margin-left: 1rem; }
.p-product-set table thead tr th.__description { width: 50%; }
.p-product-set table tbody tr td.__description h2.__name { line-height: 1.3; }
.p-product-set table thead tr th.__order { padding-left: 20px; }
/* td */
.p-product-set table tbody tr td { font-size: 0.85rem; border: unset; }
.p-product-set table tbody tr td.__description { display: flex; flex-wrap: wrap; gap: 0 0.8rem; font-weight: 400; }
.p-product-set table tbody tr td.__description h2.__name { font-size: 0.85rem; font-weight: 400; }
.p-product-set table tbody tr td.__description .__spec { display: flex; flex-wrap: wrap; gap: 0 0.8rem; margin-top: 0; font-size: 0.85rem; color: #333; }
.p-product-set table tbody tr td.__description .__spec dl { margin-top: 0; }
.p-product-set table tbody tr td.__description .__spec dl.__no { display: none; }
.p-product-set table tbody tr td .__body a { color: #C03032; text-decoration: underline; }
.p-product-set table tbody tr td.__price  { padding-left: 0; padding-right: 0;  vertical-align: top; text-align: left; }
.p-product-set table tbody tr td.__order { vertical-align: top; }
.p-product-set table tbody tr td.__order .__body br { display: none; }
.body-product-detail .p-product-set table tbody tr td.__order .__body .__notice dl { margin-top: 0; font-size: 1em; font-weight: 400; }
.p-product-set table tbody tr td.__price .__body { letter-spacing: 0; }
.p-product-set table tbody tr td.__price .__body .__total { order: 2; font-size: 1rem; font-weight: 400; }
.p-product-set table tbody tr td.__price .__body .__detail { font-size: 1em; font-weight: 400; font-feature-settings: 'palt'; }
.p-product-set table tbody tr td.__price .__body .__detail .c-tax-price { font-size: 1.5rem; }
.p-spin .__minus, .p-spin .__plus { background-color: #fff; }
.main.main--product-detail section.__information .__secondary .__control { text-align: center; }
/* button */
.c-button-submit { background-color: #C03032; border-radius: 3rem; font-size: 1.3rem; font-weight: 600; }
.main--product-detail .__block--recommend .c-more { display: none; }

/* sitemap----------- */
.main.main--sitemap .__wrap .__block h2.__heading { font-size: 1em; position: relative; padding-left: 0.6em; color: #c03032; }
.main.main--sitemap .__wrap .__block h2.__heading::before { content: '\25cf'; font-size: 4px; font-weight: 700; top: 50%; position: absolute; transform: translateY(-50%); left: 0; display: inline-block; padding-right: 0.5em; color: #c03032; }
.main.main--sitemap .__wrap .__block .__body ul li a::before { content: none; }
.main.main--sitemap .__wrap .__block .__body ul li a::after { padding-left: 0.5em; content: '\f8ce'; width: 1.125em; height: 1.125em; font-family: "Material Symbols Rounded"; color: #c03032; vertical-align: text-top; }

/* corporate----------- */
.main.main--corporate .__open .__title { font-size: 1.15em; position: relative; padding-left: 0.6em; color: #c03032; }
.main.main--corporate .__open .__title::before { content: '\25cf'; font-size: 4px; font-weight: 700; top: 50%; position: absolute; transform: translateY(-50%); left: 0; display: inline-block; padding-right: 0.5em; color: #c03032; }
.main.main--corporate .__open .__text { color: #666; }

/* quickorder----------- */
.main.main--quickorder-form .__input-form .__heading { font-weight: 500; }
/* required------------ */
.p-form-table tr.__is-required>th:after { font-weight: 500; letter-spacing: 0; }

/* flow ------------*/
.p-form-flow { max-width: 500px; }
.p-form-flow:before { border-bottom: 2px solid #bbb; }
.p-form-flow .__flow .__number { font-family: "Poppins", sans-serif; }
.main.main--regist-finish section.__back-home a:before { content: none; }
.main.main--regist-finish section.__back-home a { color: #C03032; font-weight: 500; }
.main.main--regist-finish section.__back-home a::after { padding-left: 0.5em; content: '\f8ce'; width: 1.125em; height: 1.125em; font-family: "Material Symbols Rounded"; color: #c03032; vertical-align: text-top; }

/* contact ------------*/
.main.main--contact-finish section.__back-home a::before { content: none; }
.main.main--contact-finish section.__back-home a { color: #C03032; font-weight: 500; }
.main.main--contact-finish section.__back-home a::after { padding-left: 0.5em; content: '\f8ce'; width: 1.125em; height: 1.125em; font-family: "Material Symbols Rounded"; color: #c03032; vertical-align: text-top; }

/* howto------------------ */
.main.main--howto .__step h2.__heading { font-size: 1.15em; position: relative; padding-left: 0.6em; color: #c03032; }
.main.main--howto .__step h2.__heading::before { content: '\25cf'; font-size: 4px; font-weight: 700; top: 50%; position: absolute; transform: translateY(-50%); left: 0; display: inline-block; padding-right: 0.5em; color: #c03032; }
.main.main--howto .__step .__body ul.__list li.__item .__title {  background: #f7f7f7; padding: 0.5em 1em; font-size: 1em; }

/* mypage------------------ */
.p-mypage-search .__heading { background-color: #EBEBED; }

/* news --------------------*/
.main--news .c-news-label.c-news-label--color-5 { border-radius: 1.5em; letter-spacing: 0; } 
.body-news .main section.__to-list a::before { content: none; }
.body-news .main section.__to-list a { color: #C03032; font-weight: 500; }
.body-news .main section.__to-list a::after { padding-left: 0.5em; content: '\f8ce'; width: 1.125em; height: 1.125em; font-family: "Material Symbols Rounded"; color: #c03032; vertical-align: text-top; }


@media screen and (max-width: 1023px) {

}

/* @media screen and (max-width: 959px) and (min-width: 600px) {

} */

@media screen and (max-width: 959px) {

}

@media screen and (max-width: 767px) {

}

@media screen and (max-width: 599px) {
    .p-pagination .__link ul.__page { width: unset; }
    .p-pagination .__link .__prev, .p-pagination .__link .__next { order: unset; width: auto; }
    .p-product-set table tbody tr td.__description::before { display: none; }
    .p-product-set table tbody tr td .__heading { display: grid; }
    .p-product-set table tbody tr td.__price .__heading .__detail { order: 1; font-size: 1em; }
    .p-product-set table tbody tr td.__price .__heading .__total { order: 2; }
    .p-product-set table tbody tr td.__price .__body { display: grid; }
    .p-product-set table tbody tr td.__price .__body .__detail { order: 1; font-size: 1em; }
    .p-product-set table tbody tr td.__price .__body .__total { order: 2; }

     /* td */
    .p-product-set table tbody tr td,
    .p-product-set table tbody tr td.__description h2.__name,
    .p-product-set table tbody tr td.__description .__spec,
    .body-product-detail .p-product-set table tbody tr td.__order .__body .__notice dl,
    .p-product-set table tbody tr td.__price .__body .__total,
    .p-product-set table tbody tr td.__price .__body .__detail { font-size: 1rem;  }

    /* mypage */
    .p-mypage-navi nav.__menu .__body ul li a:after { padding-left: 0.5em; content: '\f8ce'; width: 1.125em; height: 1.125em; font-family: "Material Symbols Rounded"; color: #c03032; vertical-align: text-top; }
}


@media screen and (min-width: 600px) {
    /* aside */
    .aside section.__block.__block--login.__is-guest .__body .__login-link .__link span, 
    .aside section.__block.__block--login.__is-guest .__body .__login-form .__submit .__button span { font-size: 1em; }
    .p-pagination .__link .__next a, .p-pagination .__link .__prev a { padding: 5px; }

    /* .p-product-block ul.__product */
    .body-product-list .p-product-block ul.__product,
    .body-product-detail .p-product-block ul.__product { margin: 1.06em 0 5em; gap: 1.06em; display: flex; flex-wrap: wrap; }
    .body-product-list .p-product-block ul.__product > li,
    .body-product-detail .p-product-block ul.__product > li { width: calc((100% - 1.06em * 3) / 4); }

    /* product-detail */
    .main.main--product-detail section.__information .__primary { width: 41.45%; }
    .main.main--product-detail section.__information .__secondary { width: 56.08%; }
    .main.main--product-detail section.__information .__secondary .__description { margin-top: 2rem; font-size: 1.06em; }
    .main.main--product-detail section.__information .__secondary .__spec .__table { font-size: 1.06rem; }
    .p-product-set table { border-radius: clamp(1.2em, calc(0.4rem + 2vw), 2rem); overflow: hidden; background-color: #FAFAFA; }
    .p-product-set table tbody tr td { padding: 10px 40px; font-size: 1rem; }
    .p-product-set table tbody tr td.__description h2.__name { font-size: 1.06rem; }
    .p-product-set table tbody tr td.__description .__spec { font-size: 1.06rem; }
    .p-product-set table tbody tr td.__order { padding-left: 20px; }
    .p-product-set table tbody tr td.__price .__body { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; }
    .p-product-set table tbody tr td.__order .__body { text-align: left; display: flex; flex-wrap: wrap; align-items: center; gap: 0 0.8rem; }

    /* tr */
    .p-product-set table tbody tr { border-bottom: unset; }
    .p-product-set table tbody tr + tr { position: relative; }
    .p-product-set table tbody tr + tr::before { content: ""; position: absolute; top: 0; left: 40px; right: 40px; height: 1px;background-color: var(--border-color);
    display: block; }
    .p-product-set table tbody tr { display: table-row; }   

    .body-mypage .p-product-block ul.__product li.__item {  padding: 1em 0.5em; }
}

@media screen and (min-width: 768px) {

}

@media (min-width: 960px) {
    
    
}

@media (min-width: 1024px) {

}


@media screen and (min-width: 1280px) {
    .wrapper.wrapper--column-2 .__inner .main { width: 76.1%; }
    .wrapper.wrapper--column-2 .__inner .aside { width: 23%; }

}