@charset "utf-8";

#primary {
    padding: 0;
}
#main {
    min-height:0;
}
#main .breadcrumb {
    display: none;
}

#special_gift section * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family:"Helvetica Neue LT W01_35 Thin", "Helvetica Neue LT W05 35 Thin", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
    line-height: 1;
    letter-spacing: 0;
}
#special_gift {
    width: 100%;
    background: #000;
    color: #000;
}
#special_gift section {
    width: min(100%, 750px);
    margin-inline: auto;
    padding-bottom: min(calc((80 / 750) * 100vw), 80px);
    background-color: #fff;
    line-break: strict;
}
#special_gift img {
    border: none;
    vertical-align: bottom;
}
#special_gift a {
    margin-inline: auto;
    text-decoration: none;
    transition: background 0.3s;
}
#special_gift li {
    list-style: none;
}
#special_gift .txt-en {
    font-size: 113%;
    font-family: "HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", sans-serif !important;
}
#special_gift .yugo {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important
}
#special_gift .section-title {
    margin-bottom: min(calc((50 / 750) * 100vw), 50px);
    padding-top: min(calc((80 / 750) * 100vw), 80px);
    font-size: min(calc((56 / 750) * 100vw), 56px);
    line-height: calc(66 / 56);
    text-align: center;
}
#special_gift .common-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    width: auto;
    border: 1px #000 solid;
    background: #fff;
    color: #000;
    font-size: min(calc((24 / 750) * 100vw), 24px);
    text-align: center;
    line-height: calc(30 / 24);
}
@media screen and (min-width:751px) {
    #special_gift .common-btn:hover {
        background:#000;
        color:#fff;
    }
}
#special_gift .common-btn.arrow::after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: min(calc((23 / 750) * 100vw), 23px);
    transform: translateY(-50%) rotate(-90deg);
    font-size: min(calc((30 / 750) * 100vw), 30px);
    font-family: 'icomoon' !important;
    content:"\e904";
}
#special_gift .common-btn.arrow.down::after {
    transform: translateY(-50%) rotate(0deg);
}
#special_gift .common-btn:last-of-type {
    margin-bottom: 0;
}

/* .section-head */
#special_gift .section-head {
    position: relative;
}
#special_gift .section-head .head-top {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    margin-top: min(calc((91 / 750) * 100vw), 91px);
    text-align: center;
}
#special_gift .section-head h1 {
    font-size: min(calc((90 / 750) * 100vw), 90px);
}
#special_gift .section-head h1 span {
    display: block;
    margin-top: min(calc((4 / 750) * 100vw), 4px);
    font-size: min(calc((42 / 750) * 100vw), 42px);
    line-height: calc(54 / 42);
}
#special_gift .section-head .head-bottom {
    position: absolute;
    bottom: min(calc((80 / 750) * 100vw), 80px);;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    margin-bottom: min(calc((40 / 750) * 100vw), 40px);
    text-align: center;
}
#special_gift .section-head .head-bottom p {
    margin-bottom: min(calc((50 / 750) * 100vw), 50px);
    font-size: min(calc((30 / 750) * 100vw), 30px);
    line-height: calc(42 / 30);
}
#special_gift .section-head .head-nav {
    display: flex;
    justify-content: space-between;
    row-gap: min(calc((20 / 750) * 100vw), 20px);
    flex-wrap: wrap;
    padding-inline: min(calc((40 / 750) * 100vw), 40px);
}
#special_gift .section-head .common-btn {
    width: min(calc((326 / 750) * 100vw), 326px);
    height: min(calc((92 / 750) * 100vw), 92px);
    padding-block: min(calc((30 / 750) * 100vw), 30px);
    padding-inline: min(calc((24 / 750) * 100vw), 24px) min(calc((51 / 750) * 100vw), 51px);
    background: #fbfbfb;
}
#special_gift .section-head .common-btn:hover {
    background: #000;
}
/* .section-wrapping */
#special_gift .section-wrapping h2 {
    font-size: min(calc((56 / 750) * 100vw), 56px);
    line-height: calc(66 / 56);
}
#special_gift .section-wrapping h2 span {
    display: block;
    margin-bottom: min(calc((4 / 750) * 100vw), 4px);
    font-size: min(calc((30 / 750) * 100vw), 30px);
    line-height: calc(42 / 30);
}
#special_gift .section-wrapping .wrapping-desc {
    margin-bottom: min(calc((40 / 750) * 100vw), 40px);
    text-align: center;
}
#special_gift .section-wrapping .wrapping-desc img {
    padding-inline: min(calc((40 / 750) * 100vw), 40px);
}
#special_gift .section-wrapping .wrapping-lead {
    margin-top: min(calc((50 / 750) * 100vw), 50px);
}
#special_gift .section-wrapping .wrapping-lead p {
    margin-bottom: min(calc((24 / 750) * 100vw), 24px);
    font-size: min(calc((30 / 750) * 100vw), 30px);
    line-height: calc(42 / 30);
}
#special_gift .section-wrapping .wrapping-lead p:last-of-type {
    margin-bottom: 0;
}
#special_gift .section-wrapping .wrapping-coupon {
    margin-bottom: min(calc((50 / 750) * 100vw), 50px);
    text-align: center;
}
#special_gift .section-wrapping .coupon-title {
    margin-bottom: min(calc((30 / 750) * 100vw), 30px);
    font-size: min(calc((30 / 750) * 100vw), 30px);
}
#special_gift .section-wrapping .coupon-code {
    width: min(calc((670 / 750) * 100vw), 670px);;
    margin-inline: auto;
    margin-bottom: min(calc((40 / 750) * 100vw), 40px);
    padding-block: min(calc((48 / 750) * 100vw), 48px);
    background-color: #000;
    color: #fff;
    font-size: min(calc((44 / 750) * 100vw), 44px);
}
#special_gift .section-wrapping .wrapping-size {
    font-size: min(calc((22 / 750) * 100vw), 22px);
    line-height: calc(32 / 22);
}
#special_gift .section-wrapping .wrapping-note li {
    font-size: min(calc((22 / 750) * 100vw), 22px);
    line-height: calc(32 / 22);
}
#special_gift .section-wrapping .wrapping-banner a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: min(calc((360 / 750) * 100vw), 360px);
    border: min(calc((2 / 750) * 100vw), 2px) solid #D9D9D9;
    color: #000;
    transition: opacity .3s;
}
#special_gift .section-wrapping .wrapping-banner a:hover {
    opacity: .8;
}
#special_gift .section-wrapping .wrapping-banner a img {
    height: 100%;
}
#special_gift .section-wrapping .banner-txt {
    padding-left: min(calc((36 / 750) * 100vw), 36px);
}
#special_gift .section-wrapping .banner-title h3 {
    margin-bottom: min(calc((2 / 750) * 100vw), 2px);
    font-size: min(calc((70 / 750) * 100vw), 70px);
    font-family:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", sans-serif !important;
    line-height: calc(60 / 70);
}
#special_gift .section-wrapping .banner-title p {
    margin-bottom: min(calc((12 / 750) * 100vw), 12px);
    font-size: min(calc((30 / 750) * 100vw), 30px);
    line-height: calc(40 / 30);
}
#special_gift .section-wrapping .banner-desc p {
    margin-bottom: min(calc((12 / 750) * 100vw), 12px);
    font-size: min(calc((24 / 750) * 100vw), 24px);
    line-height: calc(34 / 24);
    letter-spacing: -0.06em;
}
#special_gift .section-wrapping .banner-desc .btn-wrap {
    width: fit-content;
    padding: min(calc((13 / 750) * 100vw), 13px) min(calc((65 / 750) * 100vw), 65px);
    border: 1px solid #000;
    font-size: min(calc((20 / 750) * 100vw), 20px);
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", sans-serif !important;
    line-height: calc(22 / 20);
}

/* .section-advise */
#special_gift .section-advise .slick-prev,
#special_gift .section-advise .slick-next {
    top: 43%;
}
#special_gift .section-advise .slick-prev {
    left: min(calc((20 / 750) * 100vw), 20px);
}
#special_gift .section-advise .slick-next {
    right: min(calc((20 / 750) * 100vw), 20px);
}
#special_gift .section-advise .advise-link_img {
    display: flex;
    justify-content: center;
    width: min(calc((670 / 750) * 100vw), 670px);
    margin-inline: auto;
    margin-bottom: min(calc((40 / 750) * 100vw), 40px);
}
#special_gift .section-advise .advise-link_img a {
    position: relative;
    width: 50%;
    height: min(calc((335 / 750) * 100vw), 335px);
    transition: opacity .3s;
}
#special_gift .section-advise .advise-link_img a:hover {
    opacity: .8;
}
#special_gift .section-advise .advise-link_img a img {
    height: 100%;
}
#special_gift .section-advise .advise-link_img a p {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    margin-bottom: min(calc((19 / 750) * 100vw), 19px);
    color: #fff;
    font-size: min(calc((28 / 750) * 100vw), 28px);
    line-height: calc(30 / 28);
    text-align: center;
    text-decoration: underline;
    text-decoration-thickness: min(calc((2 / 750) * 100vw), 2px);
    text-underline-offset: min(calc((3 / 750) * 100vw), 3px);
    text-shadow: 0px 2px 8px rgba(0, 0, 0, .7);
}
#special_gift .section-advise .advise-link-wrap {
    margin-bottom: min(calc((60 / 750) * 100vw), 60px);
    text-align: center;
}
#special_gift .section-advise .advise-link-wrap p {
    margin-bottom: min(calc((16 / 750) * 100vw), 16px);
    font-size: min(calc((22 / 750) * 100vw), 22px);
    line-height: calc(30 / 22);
}
#special_gift .section-advise .advise-link_btn {
    display: flex;
    justify-content: center;
    gap: min(calc((20 / 750) * 100vw), 20px);
}
#special_gift .section-advise .advise-link_btn a {
    width: min(calc((210 / 750) * 100vw), 210px);
    height: min(calc((80 / 750) * 100vw), 80px);
    margin: 0;
    padding-inline: min(calc((23 / 750) * 100vw), 23px) min(calc((51 / 750) * 100vw), 51px);
    font-size: min(calc((22 / 750) * 100vw), 22px);
    line-height: calc(30 / 22);
}
#special_gift .section-advise .advise-cp a {
    display: block;
    position: relative;
    color: #000;
    transition: opacity .3s;
}
#special_gift .section-advise .advise-cp a:hover {
    opacity: .8;
}
#special_gift .section-advise .advise-cp .cp-txt {
    position: absolute;
    top: 50%;
    left: min(calc((37 / 750) * 100vw), 37px);
    transform: translateY(-50%);
}
#special_gift .section-advise .advise-cp h3 {
    margin-bottom: min(calc((12 / 750) * 100vw), 12px);
    font-size: min(calc((70 / 750) * 100vw), 70px);
    font-family:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
    line-height: calc(60 / 70);
}
#special_gift .section-advise .advise-cp p {
    margin-bottom: min(calc((12 / 750) * 100vw), 12px);
    font-size: min(calc((24 / 750) * 100vw), 24px);
    line-height: calc(34 / 24);
    letter-spacing: -0.09em;
}
#special_gift .section-advise .advise-cp .btn-wrap {
    width: fit-content;
    padding: min(calc((13 / 750) * 100vw), 13px) min(calc((65 / 750) * 100vw), 65px);
    border: 1px solid #000;
    font-size: min(calc((20 / 750) * 100vw), 20px);
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
    line-height: calc(22 / 20);
}

/* .section-finder */
#special_gift .section-finder {
    padding-inline: min(calc((40 / 750) * 100vw), 40px);
    text-align: center;
}
#special_gift .section-finder .section-title {
    margin-bottom: min(calc((24 / 750) * 100vw), 24px);
    font-size: min(calc((80 / 750) * 100vw), 80px);
    line-height: calc(80 / 80);
}
#special_gift .section-finder .section-title span {
    display: block;
    font-size: min(calc((30 / 750) * 100vw), 30px);
    line-height: calc(42 / 30);
}
#special_gift .section-finder .section-lead {
    margin-bottom: min(calc((40 / 750) * 100vw), 40px);
    font-size: min(calc((30 / 750) * 100vw), 30px);
    line-height: calc(42 / 30);
}
#special_gift .section-finder .finder-wrap {
    padding-bottom: min(calc((48 / 750) * 100vw), 48px);
    border-bottom: min(calc((2 / 750) * 100vw), 2px) solid #000;
}
#special_gift .section-finder .card {
    display: none;
    height: min(calc((490 / 750) * 100vw), 490px);
    padding-top: min(calc((40 / 750) * 100vw), 40px);
}
#special_gift .section-finder .card.is-active {
    display: block;
}
#special_gift .section-finder .card p {
    margin-bottom: min(calc((40 / 750) * 100vw), 40px);
    font-size: min(calc((42 / 750) * 100vw), 42px);
    line-height: calc(56 / 42);
}
#special_gift .section-finder .card p span {
    display: block;
    margin-bottom: min(calc((10 / 750) * 100vw), 10px);
    font-size: min(calc((34 / 750) * 100vw), 34px);
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
    line-height: calc(34 / 34);
}
#special_gift .section-finder .card div a,
#special_gift .section-finder .card div button {
    display: block;
    margin-inline: auto;
}
#special_gift .section-finder .card div .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(calc((330 / 750) * 100vw), 330px);
    height: min(calc((80 / 750) * 100vw), 80px);
    margin-bottom: min(calc((30 / 750) * 100vw), 30px);
    border: 1px solid #000;
    background-color: #fff;
    font-size: min(calc((30 / 750) * 100vw), 30px);
}
#special_gift .section-finder .card div .btn:hover {
    background-color: #000;
    color: #fff;
}
#special_gift .section-finder .card div .btn:last-of-type {
    margin-bottom: 0;
}
#special_gift .section-finder .txt {
    width: fit-content;
    margin-top: min(calc((40 / 750) * 100vw), 40px);
    font-size: min(calc((30 / 750) * 100vw), 30px);
    line-height: calc(40 / 30);
    text-decoration: underline;
    text-decoration-thickness: min(calc((1 / 750) * 100vw), 1px);
    text-underline-offset: min(calc((10 / 750) * 100vw), 10px);
    transition: .3s;
}

/* .section-best */
#special_gift .section-best {
    padding-bottom: min(calc((100 / 750) * 100vw), 100px);
}
#special_gift .section-best .section-title {
    font-size: min(calc((80 / 750) * 100vw), 80px);
    line-height: calc(80 / 80);
}
#special_gift .section-best .slick-prev,
#special_gift .section-best .slick-next {
    top: 43%;
}
#special_gift .section-best .slick-prev {
    left: min(calc((20 / 750) * 100vw), 20px);
}
#special_gift .section-best .slick-next {
    right: min(calc((20 / 750) * 100vw), 20px);
}

/* .item-slider */
#special_gift .item-slider .product-image {
    position: relative;
    max-width: min(calc((268 / 750) * 100vw), 268px);
    margin-inline: auto;
    margin-bottom: min(calc((20 / 750) * 100vw), 20px);
    padding-bottom: 0;
}
#special_gift .item-slider .product-image a {
    display: block;
    line-height: 0;
}
#special_gift .item-slider .product-image .item-image_base {
    width: 100%;
}
#special_gift .item-slider .product-image .item-image_hover {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity .3s;
    width: 100%;
    background-color: #fff;
}
#special_gift .item-slider .product-image .item-image_hover:hover {
    opacity: 1;
}

/* slider */
#special_gift .item-slider {
    padding-bottom: min(calc((60 / 750) * 100vw), 60px);
    padding-inline: min(calc((60 / 750) * 100vw), 60px);
}
#special_gift .item-slider .draggable {
    display: grid;
}
#special_gift .item-slider .prod-item {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: min(calc((30 / 750) * 100vw), 30px);
    padding-inline: min(calc((23 / 750) * 100vw), 23px);
}
#special_gift .item-slider .product-name {
    margin-bottom: min(calc((10 / 750) * 100vw), 10px);
    font-size: min(calc((30 / 750) * 100vw), 30px);
    line-height: calc(36 / 30);
}
#special_gift .item-slider .product-name a {
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
}
#special_gift .item-slider .product-color {
    margin-bottom: min(calc((8 / 750) * 100vw), 8px);
    font-size: min(calc((24 / 750) * 100vw), 24px);
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", sans-serif !important;
    line-height: calc(30 / 24);
}
#special_gift .item-slider .product-pricing {
    display: inline-block;
    float: right;
}
#special_gift .item-slider .product-price {
    font-size: min(calc((24 / 750) * 100vw), 24px);
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
    line-height: calc(30 / 24);
}
#special_gift .item-slider .common-btn {
    width: min(calc((268 / 750) * 100vw), 268px);
    height: min(calc((74 / 750) * 100vw), 74px);
    font-size: min(calc((24 / 750) * 100vw), 24px);
    line-height: calc(30 / 24);
}
#special_gift .item-slider .slick-dots {
    margin-top: min(calc((50 / 750) * 100vw), 50px);
}
#special_gift .item-slider .slick-dots li {
    margin-inline: min(calc((9 / 750) * 100vw), 9px);
}
#special_gift .item-slider .slick-dots li button:before {
    top: 50%;
    left: 50%;
    transform: translate(-50%);
}
#special_gift .item-slider .slick-prev:before,
#special_gift .item-slider .slick-next:before {
    font-size: min(calc((40 / 750) * 100vw), 40px);
}

