/* =========================== */
/* 全体設定 */
/* =========================== */

@media print,
screen and (min-width: 980px) {
    .img_kessai {
        width: 325px;
        display: block;
    }

    .img_syukka {
        max-width: 800px !important;
        display: block;
        margin: 0 auto;
    }
}


.use_shinki {
    font-size: 1.8rem;
    border-radius: 4px;
    background-color: #169FC3;
    border: 2px solid #169FC3;
    width: 100%;
    display: block;
    margin: auto;
    padding: 10px 15px;
    text-align: center;
    color: #fff !important;
    font-weight: bold;
    transition: all 0.3s;
    margin-top: 40px;
    text-decoration: none !important;
    max-width: 524px;
}

.icon_zaiko_box {
    background: #169FC3;
    border: 1px solid #169FC3;
    width: 74px;
    margin-bottom: 20px;
    text-align: center;
}

.icon_zaiko {
    font-size: 1.3rem;
    padding-top: 5px;
    padding-bottom: 5px;
    color: #fff !important;
    font-weight: bold;
}

.icon_maker_box {
    background: #4EA883;
    border: 1px solid #4EA883;
    width: 101px;
    margin-bottom: 20px;
    text-align: center;
}

.icon_maker {
    font-size: 1.3rem;
    padding-top: 5px;
    padding-bottom: 5px;
    color: #fff !important;
    font-weight: bold;
}

.use_icon_list li {
    margin: 20px 0;
}

.postage_list {
    padding-left: 1em;
    position: relative;
}

.postage_list::after {
    position: absolute;
    content: '・';
    top: 0;
    left: -5px;
}


/*会員ランク・会員ポイントについて*/
.fs-p-aboutPoints .fs-c-documentColumn>section {
    margin-top: 40px;
}

@media print,
screen and (min-width: 980px) {
    .fs-p-aboutPoints .fs-c-documentColumn>section {
        margin-top: 80px;
    }
}

@media print,
screen and (min-width: 980px) {
    .example {
        font-size: 18px
    }
}

.example {
    margin: 20px 0 30px;
    padding: 10px 20px;
    background: #F6F6F6;
    font-weight: bold;
}

.fs-p-aboutPoints .fs-c-documentTable {
    width: 100%;
}

.fs-p-aboutPoints .fs-c-documentTable th,
.fs-p-aboutPoints .fs-c-documentTable td {
    text-align: center;
    font-weight: bold;
}

.fs-p-aboutPoints .fs-c-documentTable th {
    padding: 10px;
    background: #F6F6F6;
}

.fs-p-aboutPoints .fs-c-documentTable td {
    padding: 15px;
    border-bottom: 1px solid #B2BBBA;
}

.fs-p-aboutPoints .fs-c-documentImage {
    margin: 20px auto;
}

@media print,
screen and (max-width: 979px) {
    .fs-p-aboutPoints .fs-c-documentImage {
        overflow-x: scroll;
        text-align: center;
    }

    .fs-p-aboutPoints .fs-c-documentImage .x-scroll {
        width: 932px;
    }
}


@media print,
screen and (min-width: 980px) {
    .fs-p-aboutPoints .fs-c-documentImage {
        margin: 50px auto;
        width: 80%;
        text-align: center;
    }
}

.fs-p-aboutPoints .fs-c-documentImage img {
    width: auto;
    max-width: 100%;
}

.fs-c-documentImage p {
    margin-bottom: 20px;
    text-align: left;
}


.p-color01 {
    color: #FA0015;
    font-weight: bold;
}

.fs-p-aboutPoints dl {
    margin-top: 30px;
}

.fs-p-aboutPoints dt {
    font-weight: bold;
}

.fs-p-aboutPoints .faq dt,
.fs-p-aboutPoints .faq dd {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.fs-p-aboutPoints .faq dt {
    margin-bottom: 10px;
    font-size: clamp(16px, 3vw, 18px);
    border-bottom: 1px solid #B2BBBA;
}

.fs-p-aboutPoints .faq dt .tl,
.fs-p-aboutPoints .faq dd .tl {
    width: 30px;
    font-size: 22px;
    color: #169FC3;
    font-weight: bold;
}

.fs-p-aboutPoints .faq span+span {
    width: 90%;
}

.c-list li {
    position: relative;
    padding-left: 1em;
}

.c-list li+li {
    margin-top: 15px;
}

.c-list li::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 3px;
    height: 3px;
    background: #000;
    border-radius: 30px;
}

.text_right {
    text-align: right;
}

.center {
    text-align: center;
}

.w-auto {
    width: auto;
}

@media print,
screen and (min-width: 980px) {
    .w-40 {
        width: 40%;
    }
}

.mb20 {
    margin-bottom: 20px;
}



/*詳細検索*/

.fs-p-productSearch {
    display: none;
}

.fs-search {
    display: block;
    border-bottom: none;
}

.fs-search .fs-p-productSearch__field {
    display: block;
}

.fs-search .fs-p-productSearch__search {
    max-height: 100%;
}

.fs-search .fs-p-productSearch__form {
    transform: translateY(0);
    background: #fff;
}

.fs-search .fs-c-inputTable>tbody>tr {
    flex-direction: initial;
    align-items: center;
    gap: 70px;
}

.fs-c-inputTable>tbody>tr+tr {
    margin-top: 40px;
}

.fs-search .fs-c-inputTable th {
    width: 120px;
    font-size: clamp(14px, 2vw, 16px);
    font-weight: bold;
}

.fs-search .fs-c-inputTable__dataCell {
    max-width: 600px;
    width: 75%;
}

.fs-search .popular-keywords {
    display: flex;
    gap: 10px;
}

.fs-search .popular-keywords a {
    padding: 10px;
    display: block;
    border: 1px solid #B2BBBA;
    border-radius: 30px;
    font-weight: bold;
    transition: all .3s ease;
}

.fs-search .popular-keywords a:hover {
    color: #fff;
    background: #169FC3;
    border-color: #169FC3;
}

.fs-search .fs-c-inputTable__dataCell input {
    padding: 10px 10px 10px 20px;
    color: #555;
}

.fs-search .fs-c-checkbox__label {
    gap: 10px;
}

.fs-search .fs-c-checkbox__checkMark {
    margin: 0;
    border: 1px solid #B2BBBA;
    border-radius: 0;
}

.fs-search .fs-c-checkbox {
    margin-right: 0;
}

.fs-search .fs-c-checkboxGroup {
    justify-content: space-between;
}

.fs-search .fs-c-checkbox.item01 {
    margin-left: 80px;
}

.fs-search .fs-p-productSearch__searchButtonContainer {
    margin-top: 70px;
    gap: 10px;
}

.fs-search .fs-p-productSearch__searchButtonContainer input {
    padding: 16px;
    width: 350px;
    font-size: clamp(14px, 2vw, 18px);
    color: #000;
    font-weight: bold;
    border: 1px solid #B2BBBA;
    border-radius: 4px;
    cursor: pointer;
    transition: all .3s ease;
}

.fs-search .fs-p-productSearch__searchButtonContainer input:hover {
    border-color: #000;
    opacity: .7;
}

.fs-search .fs-p-productSearch__searchButtonContainer .fs-p-productSearch__searchButton {
    padding: 20px;
    width: 350px;
    font-size: clamp(14px, 2vw, 18px);
    color: #fff;
    font-weight: bold;
    background: #169FC3;
    border: 1px solid #169FC3;
    border-radius: 4px;
    transition: all .3s ease;
}

.fs-search .fs-p-productSearch__searchButtonContainer .fs-p-productSearch__searchButton:hover {
    color: #169FC3;
    background: #fff;
}

.fs-search .fs-p-productSearch__searchButtonContainer .fs-p-productSearch__searchButton::before {
    content: none;
}

.fs-search .home-btn {
    text-align: center;
}

.fs-search .home-btn a {
    font-size: 13px;
    transition: all .3s ease;
}

.fs-search .home-btn a:hover {
    text-decoration: underline;
}

.fs-search .home-btn .arrow {
    position: relative;
}

.fs-search .home-btn .arrow::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-40%);
    width: 5px;
    height: 10px;
    background: url(https://kaicom.itembox.design/item/images/guide/icon_home_arrow.svg?t=20230111170615) no-repeat;
}

@media print,
screen and (max-width: 979px) {

    .fs-search {
        padding: 0;
    }

    .fs-search .fs-p-productSearch__form {
        padding: 0;
    }

    .fs-search .fs-c-inputTable>tbody>tr {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .fs-search .fs-c-inputTable__dataCell {
        width: 100%;
    }

    .fs-search .popular-keywords {
        flex-wrap: wrap;
    }

    .fs-search .fs-c-inputTextGroup__item {
        flex: initial;
        width: 148px;
    }

    .fs-search .fs-c-checkbox.item01 {
        margin-left: 50px;
    }

    .fs-search .fs-c-checkboxGroup {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .fs-search .fs-c-checkboxGroup>* {
        flex-basis: initial;
    }

    .fs-search .fs-p-productSearch__searchButtonContainer input {
        padding: 14px;
    }

    .fs-search .fs-p-productSearch__searchButtonContainer .fs-p-productSearch__searchButton {
        padding: 17px;
    }

    .fs-search .home-btn {
        margin-top: 40px;
    }
}

/*サンプル依頼フォーム*/

.lead-block {
    margin-bottom: 0;
    display: none;
}

.lead-block h1 {
    margin-bottom: 20px;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: bold;
    text-align: center;
}

.fs-s-form .notice {
    margin-bottom: 50px;
}

.fs-s-form {
    padding: 0;
}

.fs-s-form .fs-c-inputTable>tbody>tr+tr {
    margin-top: 50px;
}

.fs-s-form .fs-c-inputTable>tbody>tr {
    justify-content: space-between;
    align-items: baseline;
    gap: 50px;
}

.fs-s-form .fs-c-inputTable th {
    width: auto;
}

.fs-s-form .fs-c-inputTable .unit input {
    margin-top: 15px;
}

.fs-s-form .fs-c-inputTable__dataCell {
    max-width: 800px;
    /* width: 83%; */
}

.fs-s-form .fs-c-inputTable__dataCell .note {
    margin-top: 10px;
}

.fs-s-form .add-box,
.fs-s-form .pref-box {
    display: inline-block;
}

.fs-s-form .pref-box {
    margin-left: 20px;
}

.fs-s-form .add01 {
    width: 88px;
}

.fs-s-form .pref {
    position: relative;
    padding: 10px;
    display: inline-block;
    width: 164px;
    font-weight: bold;
    background: url(https://kaicom.itembox.design/item/images/guide/icon_select.svg?t=20230111170615) no-repeat;
    background-position: right 10px top 17px;

}

.fs-s-form textarea,
.fs-s-form input,
.fs-s-form button {
    border-radius: 4px;
}

.fs-s-form textarea {
    max-width: 800px;
}

.fs-s-form .fs-c-inputTable>tbody>.text-area {
    align-items: flex-start;
}

.fs-s-form .pref-style {
    width: 100%;
}

.fs-s-form .pref-style .pref {
    width: 100%;
    color: #555;
    font-weight: normal;
}



@media print,
screen and (max-width: 979px) {
    .fs-s-form .notice {
        margin-bottom: 20px;
    }

    .fs-s-form .fs-c-inputTable>tbody>tr {
        gap: 5px;
    }

    .fs-s-form .fs-c-inputTable>tbody>tr+tr {
        margin-top: 40px;
    }

    .fs-s-form .fs-c-inputTable__dataCell {
        width: 100%;
    }

    .fs-s-form .fs-c-inputTable__dataCell input {
        padding: 14px 10px 14px 20px;
    }

    .fs-s-form .add-box,
    .fs-s-form .pref-box {
        display: block;
    }

    .fs-s-form .pref-box {
        margin-left: auto;
    }

    .fs-s-form .add-box {
        margin-bottom: 10px;
    }

    .fs-s-form .fs-c-inputTable .unit input {
        margin-top: 10px;
    }

    .fs-s-form .fs-c-inputTable .unit .add-box input {
        margin-top: 0;
    }

    .fs-s-form .pref {
        padding: 14px;
        background-position: right 10px top 20px;
    }
}

/*商品の素材についての豆知識・名入れシミュレーター*/

.page-link-list a {
    position: relative;
    padding: 10px 30px;
    display: block;
    font-weight: bold;
    transition: all .3s ease;
}

.page-link-list a::before {
    content: '';
    position: absolute;
    top: 17px;
    left: 10px;
    width: 11px;
    height: 7px;
    background: url(https://kaicom.itembox.design/item/images/guide/icon_anchor.svg?t=20230111170615) no-repeat;
}

.simulation-block .page-link-list a::before {
    transform: rotate(-90deg);
}

.page-link-list a:hover {
    color: #169FC3;
}

@media print,
screen and (min-width: 980px) {

    .knowledge-block .page-link-list li:nth-child(4n),
    .knowledge-block .page-link-list li:nth-child(4n+3),
    .simulation-block .page-link-list li:nth-child(4n),
    .simulation-block .page-link-list li:nth-child(4n+3) {
        background-color: #F6F6F6;
    }
}

.knowledge-block .sp {
    display: none;
}

.knowledge-block .page-link-list,
.simulation-block .page-link-list {
    margin-bottom: 50px;
    display: flex;
    flex-wrap: wrap;
}

.knowledge-block .page-link-list li,
.simulation-block .page-link-list li {
    width: 50%;
}

.knowledge-block .description {
    margin-bottom: 50px;
}

.knowledge-block .content-block+.content-block {
    margin-top: 50px;
}

.knowledge-block .content-block .fs-c-heading.fs-c-heading--page {
    font-size: clamp(16px, 2vw, 20px);
}

.knowledge-block .content-block .box {
    display: flex;
    align-items: center;
    gap: 20px;
}

.knowledge-block .content-block .box+.box {
    margin-top: 5px;
}

.knowledge-block .content-block .box dt {
    padding: 15px;
    width: 160px;
    color: #fff;
    font-weight: bold;
    background-color: #169FC3;
}

.knowledge-block .content-block .box dd {
    width: 80%;
}

.simulation-block .sp {
    display: none;
}

.simulation-block .fs-c-heading .color01 {
    color: #169FC3;
}

.simulation-block .box {
    margin: 0 auto;
    max-width: 810px;
}

.simulation-block .box+.box {
    margin-top: 70px;
}

.simulation-block .img-box {
    margin-bottom: 20px;
}

.simulation-block .img-box img {
    max-width: 100%;
    width: 100%;
    vertical-align: bottom;
}

.simulation-block .back-btn-box {
    margin-top: 100px;
    padding-right: 10px;
    text-align: center;
}

.simulation-block .back-btn-box a {
    position: relative;
}

.simulation-block .back-btn-box a:hover {
    text-decoration: underline;
}

.simulation-block .back-btn-box a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    width: 5px;
    height: 10px;
    background: url(https://kaicom.itembox.design/item/images/guide/icon_home_arrow.svg?t=20230111170615) no-repeat;
}

.simulation-block .desc-box {
    margin-bottom: 50px;
}

.simulation-block .desc-box p {
    margin-bottom: 20px;
}

.simulation-block .ttl {
    margin-bottom: 30px;
    padding: 12px 20px;
    font-size: clamp(14px, 2vw, 18px);
    font-weight: bold;
    background-color: #F6F6F6;
}

@media print,
screen and (min-width: 980px) {
    .simulation-block .img-box img {
        width: auto;
    }
}

@media print,
screen and (max-width: 979px) {

    .knowledge-block .sp {
        display: block;
    }

    .knowledge-block .description {
        margin-bottom: 30px;
    }

    .knowledge-block .page-link-list li,
    .simulation-block .page-link-list li {
        width: 100%;
    }

    .knowledge-block .page-link-list li:nth-child(2n),
    .simulation-block .page-link-list li:nth-child(2n) {
        background-color: #F6F6F6;
    }

    .knowledge-block .content-block .box {
        display: grid;
        grid-template-columns: 90px 1fr;
        gap: 10px;
    }

    .knowledge-block .content-block .box dt {
        padding: 10px;
        display: flex;
        align-items: center;
        width: 90px;
        height: 100%;
    }

    .knowledge-block .content-block .box dd {
        width: 100%;
    }

    .simulation-block .pc {
        display: none;
    }

    .simulation-block .sp {
        display: block;
    }

    .simulation-block .box+.box {
        margin-top: 50px;
    }

    .simulation-block .back-btn-box {
        margin-top: 70px;
    }

    .simulation-block .desc-box {
        margin-bottom: 40px;
    }

    .simulation-block .ttl {
        margin-bottom: 20px;
        padding: 10px;
    }
}

/*テイクアウト・デリバリー特集*/
.delivery-block .mv {
    margin-bottom: 60px;
}

.delivery-block section {
    margin: 0 auto;
    max-width: 588px;
}

.delivery-block section+section {
    margin-top: 100px;
}

.delivery-block .catch {
    margin-bottom: 50px;
    font-size: clamp(16px, 2vw, 22px);
    color: #169FC3;
    text-align: center;
    font-weight: bold;
}

.delivery-block .ttl01 {
    margin-bottom: 30px;
    text-align: center;
}

.delivery-block .ttl01 img {
    width: auto;
}

.delivery-block .delivery-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 20px;
}

.delivery-block .delivery-list li {
    width: calc(25% - 15px);
    text-align: center;
}

.delivery-block .delivery-list a:hover .img {
    border-color: transparent;
}

.delivery-block .delivery-list a:hover .img::after {
    border-color: #B2BBBA;
}

.delivery-block .delivery-list .img {
    position: relative;
    padding: 14px;
    width: auto;
    display: inline-block;
    border: 1px solid #B2BBBA;
    border-radius: 10px;
    transition: all .3s ease;
}

.delivery-block .delivery-list .img::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid transparent;
    border-radius: 10px;
    transition: all .3s ease;
    box-sizing: border-box;
}

.delivery-block .delivery-list a {
    font-weight: bold;
}

.delivery-block .delivery-list p {
    margin-top: 10px;
}

@media print,
screen and (max-width: 640px) {
    .delivery-block .mv {
        margin: 0 calc(50% - 50vw) 30px;
        width: 100vw;
    }

    .delivery-block .catch {
        margin-bottom: 30px;
    }

    .delivery-block section+section {
        margin-top: 80px;
    }

    .delivery-block .delivery-list {
        margin: 0 auto;
        max-width: 284px;
    }

    .delivery-block .delivery-list li {
        width: calc(50% - 10px);
    }
}

.section-page-link {
    /* margin-top: -68px;
    padding-top: 68px; */
}

@media print,
screen and (min-width: 980px) {
    .section-page-link {
        margin-top: -89px;
        padding-top: 89px;
    }
}


/*商品カテゴリ*/

.fs-c-sortItems {
    border: none;
    font-size: clamp(13px, 2vw, 14px);
}

.fs-c-sortItems__label {
    position: relative;
    align-self: flex-start;
    font-weight: bold;
    border: none;
}

.fs-c-sortItems__label::after {
    content: ':';
    position: relative;
    top: -1px;
    left: 3px;
}

.fs-c-sortItems__list {
    border: none;
}

.fs-c-sortItems__list__item.is-active {
    color: #000;
    font-weight: bold;
    background: #F6F6F6;
}

.fs-c-pagination__item.is-active {
    color: #000;
    background: #F6F6F6;
}

.fs-c-rating__value {
    color: #000;
}

.fs-c-mark--preorder {
    font-weight: bold;
}

@media screen and (max-width: 640px) {
    .fs-c-sortItems__label {
        width: 30%;
    }
}

/*商品詳細*/
.fs-c-button--subscribeToArrivalNotice--detail {
    border: 1px solid #B2BBBA;
    border-radius: 4px;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    color: #000;
    width: 100%;
    display: block;
    padding: 10px 10px;
    background: none;
    box-shadow: initial;
    transition: all 0.3s;
}

.fs-c-button--subscribeToArrivalNotice--detail:hover {
    opacity: 0.7;
    border: 1px solid rgba(0, 0, 0, 0.7);
}

.fs-c-button--subscribeToArrivalNotice--detail.fs-c-button--secondary:hover {
    color: #000;
}

/*商品詳細 カートボタン追従*/

.cart__fixed {
    position: fixed;
    right: 0;
    bottom: 20%;
    z-index: 1000;
    display: none;
}

.cart__fixed a {
    transition: all 0.3s ease;
}

.cart__fixed a:hover {
    opacity: .7;
}

.cart__btn--fixed {
    padding: 10px 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 93px;
    background-color: #169FC3;
    border-radius: 4px 0 0 4px;
    line-height: 1;
    cursor: pointer;
}

.cart__btn--fixed p {
    color: #fff;
    font-size: clamp(12px, 2vw, 14px);
    font-weight: bold;
}

@media screen and (max-width: 640px) {
    .cart__btn--fixed {
        flex-direction: column;
        width: 60px;
    }
}

.fs-c-button--secondary {
    padding: 15px 0;
}

@media screen and (max-width: 640px) {
    .fs-c-button--secondary .fs-c-button__label {
        font-size: 1.6rem;
    }
}