/*************************/
/*           共通          */
/*************************/

.marker-nz {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(60%, #50d8e3));
    background: linear-gradient(transparent 70%, #50d8e3 60%);
    color: #2d2d2d;
    font-weight: bold;
    padding: 0 6px;
}

.small {
    font-size: 90%;
}

.nz-section {
    margin: 70px 0;
}

/* CC商品リスト表示 */
.fs-c-productList__message.fs-c-noResultMessage {
    display: none;
}

/* TOPへ戻る */
#page_top {
    width: 100px;
    height: 60px;
    position: fixed;
    right: 0px;
    bottom: calc(10% + 90px);
    background: #14856c;
    opacity: 0.6;
    z-index: 100;
    display: none;
}

#page_top a {
    position: relative;
    display: block;
    width: 100px;
    height: 60px;
    text-decoration: none;
}

#page_top a:before {
    position: absolute;
    height: 25px;
    top: -25px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20512%22%20fill%3D%22%23ffffff%22%3E%3Cpath%20d%3D%22M177%20255.7l136%20136c9.4%209.4%209.4%2024.6%200%2033.9l-22.6%2022.6c-9.4%209.4-24.6%209.4-33.9%200L160%20351.9l-96.4%2096.4c-9.4%209.4-24.6%209.4-33.9%200L7%20425.7c-9.4-9.4-9.4-24.6%200-33.9l136-136c9.4-9.5%2024.6-9.5%2034-.1zm-34-192L7%20199.7c-9.4%209.4-9.4%2024.6%200%2033.9l22.6%2022.6c9.4%209.4%2024.6%209.4%2033.9%200l96.4-96.4%2096.4%2096.4c9.4%209.4%2024.6%209.4%2033.9%200l22.6-22.6c9.4-9.4%209.4-24.6%200-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8%200z%22%2F%3E%3C%2Fsvg%3E);
    content: "";
    width: 16px;
}

#page_top a:after {
    content: 'PAGE TOP';
    font-size: 13px;
    color: #fff;
    position: absolute;
    top: 30px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

/* 概要文 */
.categoryLp picture img {
    padding-bottom: 40px;
}

/* 更新日時 */
.updated {
    text-align: right;
}

/* for SP */
@media screen and (max-width:767px) {
    .categoryLp picture img {
        padding-bottom: 15px;
    }
}

/*************************/
/*       使いまわしパーツ          */
/*************************/

/* 大きいボタン */
.nz_btn_l {
    text-align: center;
}

.nz_btn_l a.btnshine {
    /*キラッと光る基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    display:
        inline-block;
    background: #0B2842;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    outline: none;
    overflow: hidden;
    line-height: 2.8em;
    box-shadow: 4px 4px 0px 0px #AEBDC2;
}

/* for PC */

@media screen and (min-width:768px) {
    .nz_btn_l a.btnshine {
        width: 60%;
        font-size: 22px;
        margin: 15px auto 60px;
    }

    .nz_btn_l a.btnshine:after {
        content: "";
        background-repeat: no-repeat;
        width: 32px;
        height: 32px;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%20fill%3D%22%23ffffff%22%3E%3Cpath%20d%3D%22M505%20442.7L405.3%20343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3%2044-79.7%2044-128C416%2093.1%20322.9%200%20208%200S0%2093.1%200%20208s93.1%20208%20208%20208c48.3%200%2092.7-16.4%20128-44v16.3c0%206.4%202.5%2012.5%207%2017l99.7%2099.7c9.4%209.4%2024.6%209.4%2033.9%200l28.3-28.3c9.4-9.4%209.4-24.6.1-34zM208%20336c-70.7%200-128-57.2-128-128%200-70.7%2057.2-128%20128-128%2070.7%200%20128%2057.2%20128%20128%200%2070.7-57.2%20128-128%20128z%22%2F%3E%3C%2Fsvg%3E);
        position: absolute;
        right: 24px;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    /*キラッと光る*/
    .nz_btn_l .btnshine::before {
        content: '';
        /*絶対配置でキラッと光るの位置を決める*/
        position: absolute;
        top: 0;
        left: -75%;
        /*キラッと光る形状*/
        width: 50%;
        height: 100%;
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
        transform: skewX(-25deg);
    }

    /*hoverした際の移動のアニメーション*/
    .nz_btn_l .btnshine:hover::before {
        animation: shine 0.7s;
    }

    @keyframes shine {
        100% {
            left: 125%;
        }
    }
}

/* for SP */

@media screen and (max-width:767px) {
    .nz_btn_l a.btnshine {
        margin: 20px auto 30px;
    }
}


.nz-h2 {
    text-align: center;
    font-size: 3.2rem;
    position: relative;
    margin: 70px 0;
}

.nz-h2 span {
    display: block;
    font-size: 1.5rem;
    color: #1F5E49;
    padding-bottom: 16px;
    font-family: Arial, sans-serif;
}

.nz-h2:after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;
    width: 60px;
    height: 5px;
    background-color: #A8212C;
    content: " ";
}

@media screen and (max-width:767px) {
    .nz-h2 {
        font-size: 2.2rem;
    }

    .nz-h2 span {
        font-size: 1.3rem;
        padding-bottom: 10px;
    }
}


/*************************/
/* 知りたい6つのこと　　 */
/*************************/

#nz-index {
    counter-reset: qa-number;
}

details.qa-item {
    /* Q&A項目ごとに数字を1つ増やす */
    counter-increment: qa-number;
    max-width: 820px;
    margin: 0 auto 26px;
    background-color: #EAE8DD;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

details.qa-item:before {
    position: absolute;
    content: "";
    z-index: 1;
    top: -10px;
    background-color: #0B2842;
    height: 88px;
    width: 88px;
    border-radius: 44px;
    left: -10px;
}


.qa-head {
    font-size: 2.2rem;
    position: relative;
    z-index: 2;

    display: grid;
    align-items: center;

    width: 100%;
    height: 70px;
    padding: 0 0 0 100px;

    color: #3C3C3C;
    border: 0;
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.qa-head:before {
    position: absolute;
    content: counter(qa-number);
    z-index: 1;
    font-size: 4.8rem;
    font-weight: bold;
    left: 20px;
    color: #fff;
    line-height: 4.8rem;
}

.qa-title {
    line-height: 70px;
    font-weight: 500;
}

.qa-answer {
    padding: 24px 20px 0 100px;
}

p.inner-lnk {
    font-size: 1.6rem;
    text-align: right;
}

/* --------   ＋／－ボタン -------- */
.qa-plus {
    position: absolute;
    justify-self: end;
    width: 56px;
    height: 56px;
    margin-right: 8px;
    background: #DFDDD3;
    border-radius: 10px;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

/* 横線と縦線の共通設定 */
.qa-plus::before,
.qa-plus::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;

    background: #3c3c3c;
    border-radius: 999px;

    transform: translate(-50%, -50%);
    transform-origin: center;
}

/* 横線 */
.qa-plus::before {
    width: 48%;
    height: 1px;
}

/* 縦線 */
.qa-plus::after {
    width: 1px;
    height: 48%;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

/* 開いたときは＋を－に変更 */
.qa-item[open] .qa-plus::after {
    opacity: 0;
    transform: translate(-50%, -50%) scaleY(0);
}


@media screen and (max-width:767px) {
    .qa-head {
        font-size: 1.6rem;
        height: 50px;
        padding: 0 0 0 62px;
    }

    details.qa-item:before {
        height: 70px;
        width: 70px;
        border-radius: 35px;
        left: -16px;
    }

    .qa-head:before {
        font-size: 3.2rem;
        left: 16px;
        line-height: 3.2rem;
    }

    .qa-answer {
        padding: 16px;
    }

    p.inner-lnk {
        font-size: 1.4rem;
    }

    .qa-plus {
        width: 40px;
        height: 40px;
        margin-right: 4px;
    }

    details.qa-item {
        border-radius: 12px;
    }

    .qa-answer p {
        /* font-size: 1.4rem; */
    }

}


/* --------アコーディオンの中身のスタイル-------- */
details::details-content {
    transition:
        height 0.4s,
        opacity 0.4s,
        content-visibility 0.4s allow-discrete;
    height: 0;
    opacity: 0;
    overflow: clip;
}

/* --------アコーディオンの中身のスタイル（開いている時）-------- */
details[open]::details-content {
    opacity: 1;
}

/* アコーディオンが開いた時のスタイル */
details[open] .icon {
    transform: rotate(180deg);
}


@supports (interpolate-size: allow-keywords) {
    :root {
        interpolate-size: allow-keywords;
        /* height:0（数値型） → auto（文字型） のアニメーションを可能にするための指定 */
    }

    details[open]::details-content {
        height: auto;
    }
}

/* height:0→autoへのアニメーションが対応していない場合は、固定値にアニメーションさせる */
@supports not (interpolate-size: allow-keywords) {
    details[open]::details-content {
        height: 200px;
        overflow-y: scroll;
    }
}

/*************************/
/*       ランキング          */
/*************************/

#nz-ranking .headline-h2 {
    text-align: center;
    font-size: 3.2rem;
    position: relative;
    margin: 70px 0;
    border: 0;
    padding: 0;
}

#nz-ranking .headline-h2:before {
    display: block;
    font-size: 1.5rem;
    color: #1F5E49;
    padding-bottom: 16px;
    font-family: Arial, sans-serif;
    content: "RANKING"
}

#nz-ranking .headline-h2:after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;
    width: 60px;
    height: 5px;
    background-color: #A8212C;
    content: " ";

}

/* for SP */
@media screen and (max-width:767px) {
    #nz-ranking .headline-h2 {
        font-size: 2.2rem;
        font-weight: 500;
    }

    #nz-ranking .headline-h2:before {
        font-size: 1.3rem;
        padding-bottom: 10px;
    }
}

/*************************/
/* ニュージーランドワインとは？　　 */
/*************************/

.nz-h3-info {
    color: #1F5E49;
    font-size: 2rem;
    position: relative;
    padding: 15px 10px 17px;
    margin: 0 auto;
    display: grid;
    justify-self: center;
    text-align: center;
}

.nz-h3-info:after {
    content: "";
    left: 50%;
    bottom: 3px;
    width: 70%;
    height: 4px;
    position: absolute;
    background-image: repeating-linear-gradient(90deg, transparent, transparent 6px, rgba(95, 95, 95, 1) 6px, rgba(95, 95, 95, 1) 7px);
    transform: skew(-45deg) translateX(-50%);
}

.nz-info {
    list-style: none;
    padding: 42px 34px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 20px;
}

.nz-info li {
    border: 1px solid #D9D9D9;
    border-radius: 6px;
    box-shadow: 4px 4px 0px 0px #AEBDC2;
    text-align: center;
    width: 100%;
    padding: 16px;
    /* position: relative; */
}

.nz-info li.no1>div:before {
    background-image: url(https://wine1227.itembox.cloud/item/img/country/newzealand/info01.svg);
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: center top;
}

.nz-info li.no3>div:before {
    background-image: url(https://wine1227.itembox.cloud/item/img/country/newzealand/info03.svg);
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: center top;
}

.nz-info li.no2:before {
    background-image: url(https://wine1227.itembox.cloud/item/img/country/newzealand/info02.svg);
    background-size: 46%;
    background-repeat: no-repeat;
    background-position: center top 10px;
}

.nz-info li.no1>div:before,
.nz-info li.no3>div:before,
.nz-info li.no2:before {
    content: "";
    display: block;
    padding-top: 44%;
}

span.info-ttl {
    color: #1F5E49;
    font-size: 1.6rem;
}

.info-num {
    color: #D9AA5F;
    font-weight: bold;
    font-size: 8rem;
    padding-top: 18px;
}

.info-num span {
    font-size: 4rem;
    color: #1F5E49;
}

.nz-info li.no3 .info-num span {
    font-size: 3.4rem;
}

/* for SP */
@media screen and (max-width:767px) {

    .nz-h3-info {
        font-size: 1.8rem;
        padding: 40px 10px 17px;
    }

    .nz-info {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto 1fr;
        grid-column-gap: 10px;
        grid-row-gap: 10px;
        padding: 30px 20px;
    }

    .nz-info .no2 {
        grid-area: 1 / 1 / 2 / 3;
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-content: center;
        align-items: center;
    }

    .nz-info .no1 {
        grid-area: 2 / 1 / 3 / 2;
        display: grid;
    }

    .nz-info .no3 {
        grid-area: 2 / 2 / 3 / 3;
        display: grid;
    }

    .info-num {
        font-size: 5rem;
        line-height: 1.4;
    }

    .info-num span,
    .nz-info li.no3 .info-num span {
        font-size: 2rem;
    }

    span.info-ttl {
        font-size: 1.4rem;
        display: block;
        line-height: 1.2;
    }

    .nz-info .no3>div,
    .nz-info .no1>div {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
    }

    .no2 .info-num {
        padding-top: 0;
    }

    .nz-info li.no2:before {
        background-position: center;
    }
}

/*************************/
/* ソーヴィニヨン・ブラン */
/*************************/

section#nz-sb {
    background-color: #E9F1EB;
}

section#nz-sb .nz-h2 {
    padding: 70px 0 0;
}

.nz-sb-content {
    margin: 0 15px;
    display: grid;
    gap: 16px;
    grid-template-columns: 28% auto;
}

.nz-sb-pairing {
    border-top: 1px dotted #D9D9D9;
    border-bottom: 1px dotted #D9D9D9;
    padding: 16px 0;
    font-size1.8rem;
    font-size: 1.8rem;
    line-height: 180%;
}

.nz-sb-img {
    margin-top: -80px;
}

span.pairing-ttl {
    background-color: #1F5E49;
    color: #fff;
    border-radius: 12px;
    padding: 0 14px;
    font-size: 1.6rem;
    margin-right: 12px;
}

#nz-sb .nz-h3-rcmnd {
    padding: 0 30px;
    color: #1F5E49;
    font-size: 2.4rem;
}

#nz-sb .nz-h3-rcmnd span {
    background-color: #3c3c3c;
    color: #fff;
    font-size: 1.6rem;
    padding: 0 18px;
    border-radius: 2px;
    margin-right: 16px;
    position: relative;
}

#nz-sb .nz-h3-rcmnd span:before {
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid #3c3c3c;
    content: "";
    position: absolute;
    right: -8px;
    top: 50%;
    transform: translateY(-50%);
}

/* for SP */
@media screen and (max-width:767px) {
    section#nz-sb {
        margin: 70px -8px;
    }

    section#nz-sb .nz-h2 {
        margin: 70px 0 30px;
    }

    .nz-sb-content {
        grid-template-columns: auto;
        gap: 0;
    }

    .nz-sb-img {
        margin-top: 0px;
    }

    .nz-sb-pairing {
        font-size: 1.6rem;
        margin-top: 16px;
        padding: 12px 0;
        line-height: 1.6;
    }

    #nz-sb .nz-h3-rcmnd {
        font-size: 2rem;
        padding: 16px 30px;
        text-align: center;
    }

    #nz-sb .nz-h3-rcmnd span {
        display: block;
        text-align: center;
        padding: 5px;
        font-size: 1.4rem;
        max-width: 300px;
        margin: 0 auto 12px;
    }

    #nz-sb .nz-h3-rcmnd span:before {
        position: absolute;
        bottom: -14px;
        left: 50%;
        transform: translateX(-50%);
        border-top: 10px solid #3c3c3c;
        border-right: 6px solid transparent;
        border-left: 6px solid transparent;
        top: inherit;
    }
}

/* おすすめソーヴィニヨンブラン */


ul.nz-item-list {
    padding: 5px;
}

ul.nz-item-list li .nz-rmd-ttl p {
    font-weight: 600;
}

ul.nz-item-list span.point {
    display: inline-block;
    font-size: 75%;
    background-color: #a51647;
    margin: 2px;
    padding: 0px 7px;
    color: #fff;
}

.nz-rmd-btn {
    width: 100%;
    margin-top: 0;
}

a.winery-btn {
    display: block;
    text-align: center;
    padding-right: 18px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-decoration: none;
    background: #fbb03b;
    color: #FFF;
    letter-spacing: 0.05em;
    border-bottom: solid 4px #ae7418;
    border-radius: 3px;
    position: relative;
    margin-top: 0px;
}

a.winery-btn:active {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    border-bottom: none;
}

a.winery-btn:after {
    margin-left: 22px;
    font-size: 1.6rem;
    position: absolute;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%20fill%3D%22%23ffffff%22%3E%3Cpath%20d%3D%22M256%208c137%200%20248%20111%20248%20248S393%20504%20256%20504%208%20393%208%20256%20119%208%20256%208zm113.9%20231L234.4%20103.5c-9.4-9.4-24.6-9.4-33.9%200l-17%2017c-9.4%209.4-9.4%2024.6%200%2033.9L285.1%20256%20183.5%20357.6c-9.4%209.4-9.4%2024.6%200%2033.9l17%2017c9.4%209.4%2024.6%209.4%2033.9%200L369.9%20273c9.4-9.4%209.4-24.6%200-34z%22%2F%3E%3C%2Fsvg%3E);
    content: "";
    width: 18px;
    height: 18px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/* for PC */

@media screen and (min-width:768px) {
    h3.nz-rmd-h3 {
        font-size: 2.6rem;
    }

    ul.nz-item-list {
        list-style: none;
        display: grid;
        grid-template-columns: auto auto auto;
    }

    ul.nz-item-list li {
        padding: 10px 15px 0;
        box-sizing: border-box;
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4;
    }

    .nz-rmd-ttl {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .nz-rmd-img {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .nz-rmd-img img {
        width: 100%;
        height: auto;
    }

    .nz-rmd-img a:before {
        top: 20px;
    }

    .nz-rmd-img a:after {
        top: 0px;
        left: -30px;
    }

    .nz-rmd-detail {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .nz-rmd-btn {
        order: 4;
    }

    a.winery-btn {
        padding-top: 10px;
        padding-bottom: 10px;
        font-size: 1.8rem;
    }
}

/* for SP */

@media screen and (max-width:767px) {
    ul.nz-item-list li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        list-style: none;
        padding: 5px;
    }

    ul.nz-item-list .nz-rmd-ttl {
        padding-top: 10px;
        width: 100%;
        font-size: 1.8rem;
    }

    ul.nz-item-list li:not(:first-child) .nz-rmd-ttl {
        border-top: 1px solid #ccc;
    }

    ul.nz-item-list li .nz-rmd-ttl p {
        margin: 0;
    }

    ul.nz-item-list li .nz-rmd-img {
        width: 40%;
        padding: 5px 10px 5px 5px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        text-align: center;
    }

    .nz-rmd-img a:before {
        top: 25px;
    }

    .nz-rmd-img a:after {
        top: 0px;
        left: -50px;
    }

    ul.nz-item-list li div.nz-rmd-detail {
        width: 60%;
    }

    ul.nz-item-list li div.nz-rmd-img img {
        max-width: 100%;
        max-height: 200px;
        -o-object-fit: contain;
        object-fit: contain;
        margin-top: 1rem;
    }

    a.winery-btn {
        padding-top: 5px;
        padding-bottom: 5px;
        font-size: 1.4rem;
    }

}

/*************************/
/*       品種説明         */
/*************************/

.nz-h3-var {
    font-size: 2.4rem;
    margin-top: 42px;
}

.nz-var-list {
    --card-cha-color: #9D5D07;
    --card-pg-color: #BC943F;
    --card-rie-color: #CBAA69;
    --card-pn-color: #8A4E4F;
    --card-red-color: #752B28;
    --card-shr-color: #461D19;
    list-style: none;
    margin: 0 18px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.nz-var-list li {
    border-style: solid;
    border-width: 1px;
    border-left-width: 4px;
    box-shadow: 4px 4px 0px 0px #aebdc23d;
    padding: 20px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 7;
    gap: 0px;
}

.nz-var-list li.var-cha {
    border-color: var(--card-cha-color);
}

.nz-var-list li.var-cha .nz-var-ttl {
    color: var(--card-cha-color);
}

.nz-var-list li.var-pg {
    border-color: var(--card-pg-color);
}

.nz-var-list li.var-pg .nz-var-ttl {
    color: var(--card-pg-color);
}

.nz-var-list li.var-rie {
    border-color: var(--card-rie-color);
}

.nz-var-list li.var-rie .nz-var-ttl {
    color: var(--card-rie-color);
}

.nz-var-list li.var-pn {
    border-color: var(--card-pn-color);
}

.nz-var-list li.var-pn .nz-var-ttl {
    color: var(--card-pn-color);
}

.nz-var-list li.var-red {
    border-color: var(--card-red-color);
}

.nz-var-list li.var-red .nz-var-ttl {
    color: var(--card-red-color);
}

.nz-var-list li.var-shr {
    border-color: var(--card-shr-color);
}

.nz-var-list li.var-shr .nz-var-ttl {
    color: var(--card-shr-color);
}

.nz-var-ttl {
    font-size: 2rem;
    margin: 0;
    padding-bottom: 12px;
}

.nz-var-list p {
    font-size: 1.6rem;
    margin-bottom: 0.8rem;
    line-height: 1.6;
}

p.ttl-var-pairing,
p.ttl-var-rmdwine {
    text-align: center;
    font-size: 1.4rem;
    border-top: 1px solid #3c3c3c;
    border-bottom: 1px solid #3c3c3c;
}

.nz_btn_s {
    text-align: center;
}

.nz_btn_s a.btnshine {
    /*キラッと光る基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    display:
        inline-block;
    background: #0B2842;
    color: #fff;
    padding: 0px 20px;
    text-decoration: none;
    outline: none;
    overflow: hidden;
    line-height: 2.8em;
    box-shadow: 4px 4px 0px 0px #AEBDC2;
}

/* for PC */
@media screen and (min-width:768px) {
    .nz_btn_s a.btnshine {
        width: 90%;
        font-size: 1.6rem;
        margin: 10px auto 0;
    }

    /*キラッと光る*/
    .nz_btn_s .btnshine::before {
        content: '';
        /*絶対配置でキラッと光るの位置を決める*/
        position: absolute;
        top: 0;
        left: -75%;
        /*キラッと光る形状*/
        width: 50%;
        height: 100%;
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
        transform: skewX(-25deg);
    }

    /*hoverした際の移動のアニメーション*/
    .nz_btn_s .btnshine:hover::before {
        animation: shine 0.7s;
    }
}


/* for SP */
@media screen and (max-width:767px) {
    ul.nz-var-list {
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 0 10px 60px;
    }

    .nz-var-list li {
        border-left-width: 8px;
    }

    .nz-h3-var {
        font-size: 2rem;
    }

    .nz-var-ttl {
        font-size: 1.8rem;
        padding-bottom: 4px;
    }

    .nz-var-list p {
        margin: 0.4rem 0;
        font-size: 1.4rem;
        line-height: 1.4;
    }

    .nz_btn_s a.btnshine {
        width: 90%;
    }

    .nz_btn_s {
        margin-top: 12px;
    }
}

/*************************/
/*       産地別     */
/*************************/

.nz-h3-regions {
    font-size: 2.4rem;
    padding-bottom: 6px;
    border-bottom: 1px solid #1F5E49;
}

ul.nz-regions-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0 0 60px;
}

.nz-regions-list li {
    padding: 20px;
    border: 1px solid #D9D9D9;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    gap: 0;
}

.nz-regions-list p {
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 0px 0 16px;
}

.nz-regions-ttl {
    color: #1F5E49;
    font-weight: 600;
    font-size: 2rem;
    margin: 0.8rem 0 1.8rem;
}

p.lnk-regions {
    text-align: right;
    margin: 0;
}

p.ttl-regions-var {
    margin: 0;
}

.ttl-regions-var span {
    margin: 0;
    background-color: #1F5E49;
    color: #fff;
    border-radius: 12px;
    padding: 0 14px;
    display: inline-block;
}

/* for PC */
@media screen and (min-width:768px) {
    .nz-regions-intro {
        display: grid;
        grid-template-columns: 40% 60%;
        gap: 20px;
    }
}

/* for SP */
@media screen and (max-width:767px) {

    img.nz-map {
        padding: 0 20px 20px;
    }

    ul.nz-regions-list {
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 0 10px 60px;
    }

    .nz-h3-regions {
        font-size: 2rem;
        margin-top: 32px;
    }

    .nz-regions-ttl {
        font-size: 1.8rem;
        padding-bottom: 4px;
        margin: 0.8rem 0 1.4rem;
    }

    .nz-regions-list p {
        font-size: 1.6rem;
    }

    .nz-regions-list li {
        padding: 16px;
    }
}

/*************************/
/*       SB産地の違い     */
/*************************/

.sb-difference-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-color: #E9F1EB;
    align-items: center;
}

.sb-difference-desc {
    background-color: #1F5E49;
    padding: 30px;
    color: #fff;
    margin: -14px 0 0;
    position: relative;
}

.sb-difference-desc:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    right: -12px;
    top: 0px;
    border-bottom: 14px solid #9DCEBE;
    border-right: 12px solid transparent;
}

.sb-difference-ttl {
    font-size: 3.2rem;
    font-weight: bold;
    margin: 30px 0 42px;
}

.sb-difference-ttl span {
    font-size: 1.8rem;
    display: block;
    padding-bottom: 8px;
    font-weight: 500;
}

.sb-difference-chart {
    list-style: none;
    padding-left: 110px;
    background-image: url(https://wine1227.itembox.cloud/item/img/country/newzealand/sb-band.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 60px 0;
    position: relative;
}

.sb-difference-chart:before {
    content: "北";
    position: absolute;
    left: 100px;
    top: 0;
    font-weight: 500;
    font-size: 1.6rem;
}

.sb-difference-chart:after {
    content: "南";
    position: absolute;
    left: 35px;
    bottom: 0;
    font-weight: 500;
    font-size: 1.6rem;

}

.sb-difference-chart p {
    color: #8E8E8E;
    font-size: 1.4rem;
    margin-bottom: 0.8rem;
}

.sb-difference-chart li:nth-child(1) {
    padding-left: 60px;
}

.sb-difference-chart li:nth-child(2) {
    padding-left: 50px;
}

.sb-difference-chart li:nth-child(3) {
    padding-left: 40px;
}

.sb-difference-chart li:nth-child(4) {
    padding-left: 30px;
}

.sb-difference-chart li:nth-child(5) {
    padding-left: 20px;
}

.sb-difference-chart li:nth-child(6) {
    padding-left: 10px;
}

.sb-difference-chart li:nth-child(7) {
    padding-left: 0px;
}

.sb-difference-chart-wrap {
    margin: 0 auto;
}

/* for SP */
@media screen and (max-width:767px) {
    .sb-difference-wrap {
        grid-template-columns: none;
    }

    .sb-difference-ttl {
        font-size: 2rem;
        background-color: #1F5E49;
        margin: 10px -20px 26px;
        padding: 12px 20px;
        color: #fff;
    }

    .sb-difference-ttl span {
        font-size: 1.4rem;
    }

    .sb-difference-desc {
        background-color: transparent;
        margin: 0 0 20px;
        color: #3c3c3c;
        padding: 12px;
    }

    .sb-difference-desc:before {
        content: none;
    }

    .sb-difference-chart li {
        font-size: 1.6rem;
        line-height: 1.4;
    }

    .sb-difference-chart p {
        font-size: 1.2rem;
        margin: 0 0 1.4rem 0;
    }

    .sb-difference-chart:before {
        left: 85px;

    }

}

/*************************/
/*       プレミアム     */
/*************************/
/* for PC */
@media screen and (min-width:768px) {
    img.nz-premium-img {
        max-width: 40%;
        padding: 0 16px 0 0;
        float: left;
    }
}

/*************************/
/*       日本人     */
/*************************/
.nz-jp-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
    padding: 0;
}

.card-skin {
    list-style: none;
    border: 1px solid #D9D9D9;
    padding: 20px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 0;
}

.card__titletext {
    font-size: 2rem;
    color: #1F5E49;
    font-weight: bold;
    padding: 20px 0;
}

.card__overviewtext {
    font-size: 1.6rem;
    line-height: 1.6;
}

p.card-lnk {
    text-align: right;
    margin: 1.4rem 0 0;
}

/* for SP */
@media screen and (max-width:767px) {
    .nz-jp-list {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }

    .card-skin {
        padding: 10px;
    }

    .card__titletext {
        font-size: 1.6rem;
        padding: 12px 0;
    }

    .card__overviewtext {
        font-size: 1.4rem;
        line-height: 1.4;
    }

    p.card-lnk {
        font-size: 1.4rem;
        margin: 0;
    }
}

/*************************/
/*       NZワイナリー     */
/*************************/

.bn-area a,
.bn-area img {
    border-radius: 5px;
}

.bn-area {
    margin-bottom: 40px;
}

/* for PC */
@media screen and (min-width:768px) {
    .bn-area {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .col2bn {
        width: 49%;
        margin-bottom: 10px;
    }

}