/* common:start */
#main {
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
}

/* common:end */

.gw {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.gw-ttl {
    width: 100%;
    margin: 0 auto 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 500;
    font-size: 30px;
    line-height: 1.0;
    text-align: center;
}

.gw-mv {
    width: 100%;
    margin: 0 auto calc(114px - (34 - 20)/2*1px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.gw-mv-img {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.0;

    aspect-ratio: 780/488;
}

.gw-mv-cap {
    margin-top: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 20px;
    line-height: calc(34/20);
    text-align: center;
}

.gw-item {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.gw-item-ttl {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0 auto;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}

.gw-item-ttl .english {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 44px;
    color: #3ab54a;
    line-height: 1.0;
    letter-spacing: 0.16rem;
}

.gw-item-ttl .japanese {
    width: 100%;
    margin: 14px auto 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 22px;
    color: #000;
    line-height: 1.0;
}

.gw-item-sttl {
    width: 100%;
    max-width: 400px;
    margin: 140px auto 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}

.gw-item-ttl+.gw-item-sttl {
    margin-top: 86px;
}

.gw-item-lead {
    width: 100%;
    margin-top: calc(40px - (34 - 22)/2*1px);
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 18px;
    line-height: calc(28/18);
    letter-spacing: calc(74em/1000);
    text-align: left;
}

.gw-item-lead.tac {
    font-weight: 500;
    font-size: 26px;
    text-align: center;
}

.gw-item-lead span {
    font-weight: 500;
    font-size: 30px;
    color: #d4118c;
    letter-spacing: 0.08rem;
}

.gw-item-lead .firstletter {
    display: inline-block;
    line-height: 1.0;
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
}

.gw-item-lead .firstletter::first-letter {
    font-size: 40px;
}

.gw-item .obi {
    width: 37rem;
    margin: calc(60px - (44 - 30)/2*1px) auto 0;
    padding: 12px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 24px;
    color: #fff;
    line-height: 1.0;
    letter-spacing: 0.08em;
    text-align: center;
    background-color: #d4118c;
}

.gw-item .obi span {
    font-weight: bold;
    font-size: 34px;
    line-height: 1.0;
}

.gw-item .list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: calc(30px - (34 - 22)/2*1px) auto 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    gap: 50px;
}

.gw-item .list li {
    width: 100%;
    max-width: 780px;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.gw-item .list li a:hover {
    color: inherit !important;
    text-decoration: none;
    opacity: 0.8;
}

.gw-item .list li .list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    gap: 20px;
}

.gw-item .list li .list-item.wide-img {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;

    gap: 30px;
}

.gw-item .list li .list-item .item-img {
    width: 100%;
    max-width: 390px;
    display: block;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    aspect-ratio: 1/1;
}

.gw-item .list li .list-item.wide-img .item-img {
    max-width: inherit;

    aspect-ratio: inherit;
}

.gw-item .list li a img {
    -webkit-transition: 0.4s ease-out;
    transition: 0.4s ease-out;
}

.gw-item .list li a:hover .item-img img {
    scale: 1.035;
}

.gw-item .list .spec {
    width: 100%;
    max-width: 370px;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.gw-item .list .wide-img .spec {
    max-width: inherit;
}

.gw-item .list .spec p {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.0;
}

.gw-item .list .spec .pickup {
    width: 100%;
    max-width: 109px;
    display: block;
    overflow: hidden;
    margin-bottom: 10px;
    margin-left: -10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    aspect-ratio: 109/24;
}

.gw-item .list .spec .name {
    margin: calc(0px - (38 - 24)/2*1px) 0;
    font-weight: bold;
    font-size: 23px;
    color: #000;
    line-height: calc(38/24);
    letter-spacing: -0.04rem;
}

.gw-item .list .spec .name.long {
    margin: calc(0px - (32 - 20)/2*1px) 0;
    font-size: 20px;
    line-height: calc(32/20);
}

.gw-item .list .spec .name span {
    font-weight: 500;
    font-size: 23px;
    line-height: calc(32/16);
}

.gw-item .list .spec .name+.txt {
    margin-top: calc(20px - (28 - 16)/2*1px);
}

.gw-item .list .spec .txt {
    font-size: 16px;
    line-height: calc(28/16);
}

.gw-item .list .spec .price {
    font-size: 16px;
}

.gw-item .list .spec .price span {
    font-weight: bold;
    font-size: 26px;
    color: #000;
    letter-spacing: 0.1rem;
}

.gw-item .list .spec .txt+.price {
    margin-top: calc(30px - (36 - 24)/2*1px);
}

.gw-item .list .spec .price::first-letter {
    font-size: 16px;
}

.gw-item .btn {
    width: 100%;
    max-width: 492px;
    margin: 80px auto 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    z-index: 10;
}

.gw-item .btn .btn-link {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 500;
    font-size: 24px;
    color: #000;
    line-height: 1.0;
    border: 1px solid #000;
    background-color: #fff;
    -webkit-transition: 0.4s ease-out;
    transition: 0.4s ease-out;

    aspect-ratio: 492 / 84;
    gap: 0;
}

.gw-item .btn .btn-link:hover {
    color: #fff !important;
    text-decoration: none;
    background-color: #000;
    opacity: 0.8;
}

.gw-item+.gw-item {
    margin-top: 160px;
}

.gw-item .period {
    width: 100%;
    margin: 60px auto 0;
    padding: 30px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    background-color: #f2f2f2;
}

.gw-item .period .date {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.0;
    letter-spacing: 0.08rem;
}

.gw-item .period .date span {
    font-weight: bold;
    font-size: 28px;
}

.list-item2 {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: calc(60px - (34 - 22)/2*1px) auto 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    gap: 44px 40px;
}

.list-item2 li {
    width: 100%;
    max-width: 350px;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.list-item2 li a:hover {
    color: inherit !important;
    text-decoration: none;
    opacity: 0.8;
}

.list-item2 li a .item-img {
    width: 100%;
    display: block;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    aspect-ratio: 1/1;
}

.list-item2 li a img {
    -webkit-transition: 0.4s ease-out;
    transition: 0.4s ease-out;
}

.list-item2 li a img:hover {
    scale: 1.2;
}

.list-item2 .spec {
    width: 100%;
    margin-top: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.list-item2 .spec p {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.0;
}

.list-item2 .spec .name {
    margin-bottom: calc((24 - 18)/2*-1px);
    font-weight: 500;
    font-size: 18px;
    line-height: calc(24/18);
}

.list-item2 .spec .name .alphanumeric {
    letter-spacing: 0;
}

.list-item2 .spec .price {
    margin-top: 24px;
    font-size: 16px;
}

.list-item2 .spec .price span {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.16rem;
}

.list-item2 .spec .price::first-letter {
    font-size: 16px;
}

.gw-item+.gw-item-other {
    margin-top: 120px;
}

.gw-item-other {
    text-align: center;
}

.gw-item-other h2 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 500;
    font-size: 26px;
    line-height: 1.0;
}

.gw-item-other h2 span {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 500;
    font-size: 26px;
    line-height: 1.0;
}

.linear {
    display: inline;
    padding: 4px 2px 2px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(#cef3e3), to(#cef3e3));
    background: linear-gradient(transparent 60%, #cef3e3, #cef3e3);
}

.gw-item-other .btn {
    width: 100%;
    max-width: 356px;
    margin: 20px auto 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    z-index: 10;

    aspect-ratio: 356/60;
}

.gw-item-other .btn .btn-link {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 500;
    font-size: 20px;
    color: #fff;
    line-height: 1.0;
    background-color: #3ab54a;
    -webkit-transition: 0.4s ease-out;
    transition: 0.4s ease-out;

    aspect-ratio: 358 / 60;
    gap: 0;
}

.gw-item-other .btn .btn-link::before {
    content: "";
    width: 12px;
    height: 20px;
    display: block;
    margin-left: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.0;

    aspect-ratio: 12 / 20;
}

.gw-item-other .btn .btn-link::after {
    content: "";
    width: 12px;
    height: 20px;
    display: block;
    margin-left: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.0;
    background: url(https://ayanokoji.itembox.design/item/feature/mother/bg_yajirushi_02.png) no-repeat;
    background-size: contain;

    aspect-ratio: 12 / 20;
}

.gw-item-other .btn .btn-link:hover {
    color: #fff !important;
    text-decoration: none;
    opacity: 0.8;
}



@media (max-width: 839px) {
    /* common:start */
    .pc {
        display: none !important;
    }

    .sp {
        display: inline-block !important;
    }

    img {
        width: 100%;
        height: auto;
    }

    /* common:end */

    .gw {
        margin-top: calc(26/750*100%);
    }

    .gw::after {
        content: "";
        width: calc(720/750*100%);
        height: 1px;
        display: block;
        margin: 0 auto;
        padding-bottom: calc(96/750*100%);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        border-bottom: 3px dotted #cfcfcf;
    }

    .gw-ttl {
        margin-bottom: calc(56/750*100%);
        font-size: calc(48/750*100vw);
    }


    .gw-mv {
        margin-bottom: calc((200 - (60 - 32)/2)/750*100%);
        text-align: center;
    }

    .gw-mv-img {
        width: calc(720/750*100%);
        margin: 0 auto;
    }

    .gw-mv-cap {
        margin-top: calc((60 - (60 - 32)/2)/750*100%);
        font-size: calc(32/750*100vw);
        line-height: calc(60/32);
    }

    .gw-item {
        width: calc(720/750*100%);
    }

    .gw-item-ttl::before {
        width: calc(115/750*100vw);
        height: calc(55/750*100vw);
        margin-bottom: calc(16/750*100%);
        padding: 0;
        background-size: contain;
    }

    .gw-item-ttl .english {
        font-size: calc(65/750*100vw);
    }

    .gw-item-ttl .japanese {
        margin-top: calc(14/750*100%);
        font-size: calc(26/750*100vw);
    }

    .gw-item-ttl::after {
        width: calc(64/720*100%);
        height: 2px;
        margin-top: calc(36/720*100%);
    }

    .gw-item-sttl {
        max-width: 670px;
        margin-top: calc(160/720*100%);
    }

    .gw-item-ttl+.gw-item-sttl {
        margin-top: calc(60/670*100%);
    }

    .gw-item-lead {
        margin-top: calc(60/750*100%);
        font-size: calc(38/750*100vw);
        line-height: calc(56/38);
        letter-spacing: -0.08rem;
    }

    .gw-item .list {
        width: calc(630/720*100%);
        margin-top: calc(60/720*100%);

        gap: calc(100/720*100vw) calc(18/720*100vw);
    }

    .gw-item .obi+.list {
        gap: calc(140/720*100vw) calc(18/720*100vw);
    }

    .gw-item .list+.obi {
        margin-top: calc(140/720*100vw);
    }

    .gw-item .list li {
        width: 100%;
    }

    .gw-item .list li a:hover {
        opacity: inherit;
    }

    .gw-item .list li a:hover img {
        scale: inherit;
    }

    .gw-item .list li .list-item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;

        gap: calc(30/750*100vw);
    }

    .gw-item .list li:nth-child(2n) .list-item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .gw-item .list.limited li:nth-child(2n) .list-item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .gw-item .list .list-item .pickup {
        width: calc(212/630*100%);
        margin: 0 auto;
    }

    .gw-item .list li .list-item .item-img {
        max-width: 630px;

        aspect-ratio: inherit;
    }

    .gw-item .list li .list-item img:hover {
        scale: inherit;
    }

    .gw-item .list .spec {
        max-width: 630px;
        margin-top: 0;
    }

    .gw-item .list .spec .name {
        margin-top: 0;
        font-weight: bold;
        font-size: calc(36/750*100vw);
        line-height: calc(50/36);
    }

    .gw-item .list .spec .name.long {
        font-size: calc(36/750*100vw);
    }

    .gw-item .list .spec .name span {
        font-size: calc(30/750*100vw);
    }

    .gw-item .list .spec .name+.price {
        margin-top: calc((20 - (50 - 36)/2)/630*100%);
    }

    .gw-item .list .spec .price {
        font-size: calc(24/750*100vw);
    }

    .gw-item .list .spec .txt+.price {
        margin-top: calc(40/630*100%);
    }

    .gw-item .list .spec .price span {
        font-size: calc(40/750*100vw);
    }

    .gw-item .list .spec .price::first-letter {
        font-size: calc(24/750*100vw);
    }

    .gw-item .list .spec .txt {
        font-size: calc(28/750*100vw);
    }

    .gw-item .list .spec .name+.txt {
        margin-top: calc(30/630*100%);
    }

    .gw-item .list .spec .price+.txt {
        margin-top: calc((30 - (52 - 28)/2)/630*100%);
    }

    .gw-item .list .spec .price+.txt {
        margin-top: calc(60/630*100%);
    }

    .gw-item+.gw-item {
        margin-top: calc(120/750*100%);
    }

    .gw-item .btn {
        width: calc(492/720*100%);
        max-width: inherit;
        margin-top: calc(60/630*100%);
    }

    .gw-item .btn .btn-link {
        font-size: calc(24/750*100vw);

        aspect-ratio: 492 / 84;
    }

    .gw-item .btn .btn-link::after {
        width: calc(15/750*100vw);
        height: calc(17/750*100vw);
    }

    .gw-item .btn .btn-link:hover {
        opacity: inherit !important;
    }

    .gw-item .btn-link:hover {
        opacity: inherit;
    }

    .gw-item .period {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: calc(60/720*100%);

        aspect-ratio: 720/100;
    }

    .gw-item .period .date {
        font-size: calc(28/750*100vw);
    }

    .gw-item .period .date span {
        font-size: calc(36/750*100vw);
    }

    .gw-item .gw-item-lead span {
        font-size: calc(38/750*100vw);
        letter-spacing: -0.04rem;
    }

    .gw-item .gw-item-lead {
        width: calc(670/720*100%);
        max-width: 670px;
        margin: calc(36/720*100%) auto 0;
        font-weight: normal;
        font-size: calc(28/750*100vw);
        line-height: calc(52/28);
    }

    .gw-item .gw-item-lead.tac {
        font-weight: bold;
        font-size: calc(36/750*100vw);
    }

    .gw-item+.gw-item {
        margin-top: calc(160/720*100%);
    }

    .list-item2 {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: calc((100 - (52 - 28)/2)/720*100%);

        gap: calc(60/720*100vw) calc(10/720*100vw);
    }

    .list-item2 li {
        width: calc(350/720*100%);
        max-width: inherit;
        padding: 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .list-item2 li a:hover {
        color: inherit !important;
        text-decoration: none;
        opacity: inherit;
    }

    .list-item2 li a img {
        -webkit-transition: inherit;
        transition: inherit;
    }

    .list-item2 li a img:hover {
        scale: inherit;
    }

    .list-item2 .spec {
        height: inherit;
        margin-top: calc(20/340*100%);
    }

    .list-item2 .spec .name {
        font-size: calc(26/750*100vw);
        letter-spacing: -0.08rem;
    }

    .list-item2 .spec .price {
        margin-top: calc(16/340*100%);
        font-size: calc(24/750*100vw);
    }

    .list-item2 .spec .price span {
        font-size: calc(32/750*100vw);
    }

    .list-item2 .spec .price::first-letter {
        font-size: calc(24/750*100vw);
    }

    .gw-item+.gw-item-other {
        margin-top: calc(160/720*100%);
    }

    .gw-item-other h2 {
        font-size: calc(34/750*100vw);
    }

    .gw-item-other h2 span {
        font-size: calc(34/750*100vw);
    }

    .gw-item-other .btn {
        width: calc(626/750*100%);
        max-width: 626px;
        margin-top: calc(30/750*100%);

        aspect-ratio: 626/104;
    }

    .gw-item-other .btn .btn-link {
        font-size: calc(34/750*100vw);

        aspect-ratio: 630 / 100;
    }

    .gw-item-other .btn .btn-link::before {
        width: calc(20/750*100vw);
        height: calc(36/750*100vw);
        margin-left: calc(26/630*100%);

        aspect-ratio: 20 / 36;
    }

    .gw-item-other .btn .btn-link::after {
        width: calc(20/750*100vw);
        height: calc(36/750*100vw);
        margin-left: calc(26/630*100%);

        aspect-ratio: 20 / 36;
    }
}

.price::before,
.price::after {
    content: none;
}

.fs-l-main {
    padding-left: 0;
    padding-right: 0;
}

/* 見たまま編集用 */
[data-element-id] .gw-item .list li a {
    display: block;
}

[data-element-id] .gw-item .list li .list-item .item-img {
    aspect-ratio: unset;
}

[data-element-id] .gw-item .list li .list-item {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-element-id] .gw-item .list li .list-item p.pickup.sp {
    width: 100%;
    max-width: 100%;
    text-align: center;
}

[data-element-id] .gw-item .list li .list-item p.pickup.sp img {
    max-width: 106px;
}

[data-element-id] .gw-item .list .spec .pickup {
    overflow: visible;
}

/* #### aタグ内要素を選択できるように追記 ##### */
/* まずは公開ページ用 */
.list-item2 li {
    position: relative;
}

.list-item2 li a {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.list-item2 li a+.list-item {
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.list-item2 li a:hover+.list-item {
    opacity: 0.6;
}

/* 見たまま編集用 */
[data-element-id] .list-item2 li {
    padding-top: 2em;
}

[data-element-id] .list-item2 li a {
    height: 1.5em;
}

[data-element-id] .list-item2 li a::before {
    content: "リンク変更はここをクリック";
    width: 100%;
    height: 100%;
    display: block;
    font-size: 10px;
    color: white;
    text-align: center;
    background-color: red;
    position: absolute;
    top: 0;
    left: 0;
}
