/* ttl */
.page-ttl-wrap {
    text-align: center;
}
.page-ttl-wrap.right {
    text-align: right;
}
.page-ttl-wrap.left {
    text-align: left;
}
.page-ttl-wrap.kv {
    padding: 31rem 5rem 0 0;
}
.page-ttl-wrap.line {
    position: relative;
    padding-bottom: 10rem;
    margin: 2rem 0 12rem;
}
.page-ttl-wrap.line:after {
    content: "";
    width: 6rem;
    height: 1px;
    background-color: #000000;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
}
.page-ttl-wrap .page-ttl {
    font-size: 9rem;
}
.page-ttl-wrap .txt {
    font-size: 2.4rem;
    font-weight: 600;
    margin-top: -1rem;
}
.ttl {
    font-size: 4.4rem;
    font-weight: 600;
    line-height: 1.6;
}
.line-ttl {
    display: grid;
    row-gap: 4rem;
}
.line-ttl .ttl-jp {
    font-family: shippori-mincho, sans-serif;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.6;
    order: 2;
}
.line-ttl .ttl-en {
    font-size: 2.4rem;
    font-family: garamond-premier-pro, serif;
    font-weight: 500;
    line-height: 1;
    order: 1;
    position: relative;
    display: block;
    width: max-content;
}
.line-ttl .ttl-en:after {
    content: "";
    width: 10rem;
    height: 1px;
    background-color: #333333;
    position: absolute;
    top: 75%;
    left: calc(100% + 2.6rem);
}
.line-ttl .txt {
    order: 3;
    font-size: 2.8rem;
    line-height: 2;
}
.border-ttl {
    text-align: center;
    position: relative;
    margin-bottom: 4rem;
}
.border-ttl.left {
    text-align: left;
}
.border-ttl.right {
    text-align: right;
}
.border-ttl:after {
    content: "";
    width: 4rem;
    height: 1px;
    background-color: #333;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
}
.border-ttl.left:after {
    left: 0;
    transform: none;
}
.border-ttl.right:after {
    right: 0;
    left: initial;
    transform: none;
}
.border-ttl.none:after {
    content: none;
}
.border-ttl .ttl-en {
    font-family: "aw-conqueror-didot", serif;
    font-size: 8rem;
    margin-bottom: 2rem;
}
.border-ttl .ttl-jp {
    font-family: shippori-mincho, sans-serif;
    font-size: 2.4rem;
    font-weight: 600;
    padding-bottom: 6rem;
}
.sub-ttl {
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.75;
}
.mid-ttl {
    font-size: 2.4rem;
    font-weight: 400;
    text-align: center;
    margin-bottom: 6rem;
}
.mid-ttl:before {
    content: attr( data-ttl );
    font-size: 4.8rem;
    font-family: roboto, sans-serif;
    font-weight: 400;
    display: block;
    width: 100%;
    margin: 0 auto 1rem;
}
@media only screen and (max-width: 899px) {
    .page-about .page-ttl-wrap {
        background: url(../img/about/kv_sp.webp) top left / 93.5% 24rem no-repeat;
    }
    .page-company .page-ttl-wrap {
        background: url(../img/company/kv_sp.webp) top left / 93.5% 24rem no-repeat;
    }
    .page-store .page-ttl-wrap {
        background: url(../img/company/kv_sp.webp) top left / 93.5% 24rem no-repeat;
    }
    .page-ec .page-ttl-wrap {
        background: url(../img/ec/kv_sp.webp) top left / 93.5% 24rem no-repeat;
    }
    .page-recruit .page-ttl-wrap {
        background: url(../img/recruit/kv_sp.webp) top left / 93.5% 24rem no-repeat;
    }
}
@media only screen and (min-width: 900px) {
    #page.page-kv .header-inner {
        border-bottom: none;
    }
    .page-ttl-wrap {
        margin: 8rem 0;
    }
    .page-ttl-wrap.right {
        width: 150rem;
        margin: 9.5rem auto 9rem;
        display: flex;
        justify-content: flex-end;
        align-items: baseline;
        column-gap: 3rem;
        padding-right: 0;
    }
    .page-ttl-wrap.kv {
        padding: 0;
        background: none;
        margin: 0 auto 23rem;
    }
    .page-ttl-wrap.line:after {
        width: max(5rem, 50px);
    }
    .page-ttl-wrap .page-ttl {
        font-size: max(12rem,12px);
        line-height: 1;
    }
    .page-ttl-wrap .txt {
        font-size: max(2.2rem,22px);
    }
    .ttl {
        font-size: max(5rem, 50px);
    }
    .line-ttl {
        row-gap: max(4rem, 40px);
    }
    .line-ttl .ttl-jp {
        font-size: max(4rem, 40px);
    }
    .line-ttl .ttl-en {
        font-size: max(1.8rem, 18px);
    }
    .line-ttl .ttl-en:after {
        width: 12rem;
    }
    .line-ttl .txt {
        font-size: max(1.6rem, 16px);
    }
    .border-ttl .ttl-jp {
        font-size: max(1.2rem, 12px);
        padding-bottom: 3.8rem;
    }
    .sub-ttl {
        font-size: max(2rem, 20px);
    }
    .mid-ttl {
        font-size: max(1.2rem, 12px);
        margin-bottom: 5rem;
    }
    .mid-ttl:before {
        font-size: max(2.8rem, 28px);
        margin: 0 auto .5rem;
    }
    .list.col3 {
        grid-template-columns: repeat(3,1fr);
    }
    .list.col2 {
        grid-template-columns: repeat(2,1fr);
    }
}

.bg-sec {
    background-color: #F5F5F5;
}

/* about */
@media only screen and (max-width: 899px) {
    .page-about .purpose {
        width: 93.8%;
        margin: 15rem 0 18rem auto;
    }
    .page-about .purpose .line-ttl {
        margin-bottom: 6rem;
    }
    .page-about .purpose .txt-wrap {
        width: 92.8%;
        margin-top: 6rem;
    }
    .page-about .purpose .img02 {
        width: 92.8%;
        display: block;
        margin-top: 10rem;
    }
}
@media only screen and (min-width: 900px) {
    .page-about {
        padding-top: 49rem;
        background: url(../img/about/kv.webp) top left / 89.1% 40rem no-repeat;
    }
    .page-about .purpose {
        width: 177rem;
        margin: 18rem 0 30rem auto;
        display: grid;
        grid-template-columns: 21.3rem 67.3rem 24rem 64.8rem;
        grid-template-rows: 8.2rem max(23.9rem, 239px) auto 1fr;
        align-items: flex-start;
    }
    .page-about .purpose .line-ttl {
        grid-area: 1 / 2 / 3 / 4;
        align-items: flex-start;
        margin: 0 12rem 0 0;
    }
    .page-about .purpose .txt-wrap .txt {
        font-size: max(1.8rem, 18px);
    }
    .page-about .purpose .txt01 {
        grid-area: 3 / 2 / 3 / 4;
        margin: 0 12rem 0 0;
    }
    .page-about .purpose .img01 {
        grid-area: 2 / 4 / 4 / 5;
    }
    .page-about .purpose .txt02 {
        grid-area: 4 / 3 / 5 / 5;
        margin: 13rem 20rem 0 0;
    }
    .page-about .purpose .img02 {
        grid-area: 4 / 1 / 5 / 3;
        display: block;
        width: 73rem;
        margin-top: 9rem;
    }
}

.page-about .about-sec.bg-sec {
    padding: 18rem 4rem 22rem;
    margin-bottom: 16rem;
}
.page-about .about-sec.bg-sec:last-child {
    margin-bottom: 20rem;
}
.page-about .about-sec:not(.bg-sec) {
    padding: 0 4rem 20rem;
}
.page-about .about-sec .ttl-wrap {
    text-align: center;
    margin-bottom: 8rem;
}
.page-about .ttl-wrap .ttl-en {
    font-family: garamond-premier-pro, serif;
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: .14em;
    display: block;
    width: max-content;
    position: relative;
    border-bottom: 1px solid #333333;
    padding-bottom: .5rem;
    margin: 0 auto 5rem;
}
.page-about .ttl-wrap .ttl-txt {
    font-family: shippori-mincho, sans-serif;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.7;
}
.page-about .about-sec .img {
    display: block;
    margin-bottom: 6rem;
}
.page-about .about-sec .arrow-btn {
    width: 64rem;
    margin: 9rem auto 0;
}
@media only screen and (min-width: 900px) {
    .page-about .about-sec .ttl-wrap {
        margin-bottom: 7rem;
    }
    .page-about .about-sec .img {
        width: 150rem;
        margin: 0 auto 9rem;
    }
    .page-about .about-sec .txt-wrap {
        width: 90rem;
        margin: auto;
    }
    .page-about .about-sec .txt-wrap .txt {
        font-size: max(1.6rem, 16px);
        text-align: justify;
    }
    .page-about .about-sec .arrow-btn {
        width: max(35rem, 350px);
    }
}

/* brand */
.page-brand .page-ttl-wrap {
    margin-bottom: 10rem;
}
.brand-top {
    display: grid;
    padding-top: 16rem;
    background: url(../img/brand/kv_sp.webp) top / 100% 24rem no-repeat;
    margin-bottom: 16rem;
    row-gap: 6rem;
}
.brand-top .img {
    order: 1;
    width: 67.5rem;
    margin: auto;
}
.brand-top .txt-wrap {
    order: 2;
    width: 70rem;
    margin: auto;
    text-align: center;
}
.brand-top .txt-wrap .ttl {
    font-size: 4rem;
    margin-bottom: 4rem;
}

@media only screen and (min-width: 900px) {
    .brand-top {
        padding-top: 11rem;
        background: url(../img/brand/kv.webp) top / 100% 30rem no-repeat;
        margin-bottom: 17rem;
        row-gap: 1rem;
    }
    .brand-top .img {
        width: 120rem;
    }
    .brand-top .txt-wrap {
        width: auto;
        text-align: center;
    }
    .brand-top .txt-wrap .ttl {
        margin: 4rem 0 6rem;
    }
}
.page-brand .bg {
    background-color: #F5F5F5;
    padding: 16rem 0 20rem;
    margin: 0 auto 18rem;
}
.brand-wrap {
    width: 70rem;
    margin: 0 auto;
    display: grid;
    row-gap: 7rem;
}
.brand-wrap .brand-ttl {
    font-size: 6rem;
    text-align: center;
}
.brand-wrap .index-ttl {
    font-size: 3.2rem;
    font-weight: 600;
    border-bottom: 1px solid #262626;
    padding: 0 1rem 2rem;
    position: relative;
}
.brand-wrap .brand-list {
    padding: 6rem 0 4rem;
}
.brand-wrap .brand-list li {
    display: grid;
}
.brand-wrap .brand-list .img {
    grid-area: 1;
}
.brand-wrap .brand-list .img img {
    width: 100%;
    margin-bottom: 3rem;
}
.brand-wrap .brand-list .sub-ttl {
    font-size: 2.8rem;
    margin-bottom: 2rem;
}
@media only screen and (max-width: 899px) {
    .brand-wrap .index-ttl:after {
        content: "";
        width: 2.4rem;
        height: 1.2rem;
        background: url(../img/common/arrow-down.svg) 0 / contain no-repeat;
        position: absolute;
        top: 2rem;
        right: .5rem;
    }
    .brand-wrap .index-ttl.active:after {
        background: url(../img/common/arrow-up.svg) 0 / contain no-repeat;
    }
    .brand-wrap .index-ttl.active + .brand-list {
        display: block;
    }
    .brand-wrap .brand-list {
        display: none;
    }
    .brand-wrap .brand-list li + li {
        margin-top: 8rem;
    }
    .brand-wrap .brand-list .txt {
        font-size: 2.4rem;
    }
}
@media only screen and (min-width: 900px) {
    .page-brand .col2-wrap {
        width: 150rem;
        margin: 0 auto 20rem;
        display: grid;
        grid-template-columns: 15rem 1fr;
        column-gap: 15rem;
        align-items: flex-start;
        position: relative;
    }
    .page-brand .side {
        order: 1;
        position: sticky;
        top: 0;
    }
    .page-brand .side-nav {
        margin-top: 13.5rem;
        padding-top: 2rem;
        position: relative;
    }
    .page-brand .side-nav:before {
        content: "ブランドを探す";
        font-size: max(1.4rem,14px);
        font-weight: 600;
        border-bottom: 1px solid #333333;
        padding: 0 0 2rem;
        text-align: center;
        white-space: nowrap;
        position: absolute;
        top: 0;
    }
    .page-brand .side-nav ul {
        padding: 6rem 0;
        text-align: center;
    }
    .page-brand .side-link {
        font-size: max(1.4rem,14px);
        line-height: 2.2;
        position: relative;
    }
    .page-brand .side-nav ul li .side-link.is-active:before {
        content: "";
        width: .8rem;
        height: .8rem;
        border-radius: 50%;
        background-color: #333;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: -1.6rem;
    }
    .brand-wrap {
        width: auto;
        margin: 0;
        order: 2;
    }
    .brand-wrap .index-ttl {
        padding: 0 0 2rem;
        font-size: max(1.4rem, 14px);
    }
    .brand-wrap .brand-list {
        display: grid;
        grid-template-columns: repeat(3,1fr);
        padding: 4rem 0;
        column-gap: 6rem;
        row-gap: 5rem;
    }
    .brand-wrap .brand-list li {
        align-content: baseline;
    }
    .brand-wrap .brand-list .sub-ttl {
        font-size: max(1.6rem, 14px);
    }
    .brand-wrap .brand-list .sub-ttl span {
        font-size: max(1.1rem, 11px);
    }
    .brand-wrap .brand-list li .txt {
        font-size: max(1.2rem, 12px);
    }
}

/* item */
@media only screen and (max-width: 989px) {
    .page-item .item-top {
        width: 89%;
        margin: 4rem auto 24rem;
        display: grid;
        grid-template-rows: repeat(4, auto);
        align-items: center;
    }
    .page-item.wallet .item-top {
        grid-template-columns: 45% 55%;
    }
    .page-item.bag .item-top,
    .page-item.accessory .item-top{
        grid-template-columns: 50% 50%;
    }
    .page-item .item-top .page-ttl {
        font-size: 9rem;
        margin-bottom: 3rem;
        padding: 0 4rem;
    }
    .page-item.wallet .item-top .page-ttl {
        grid-area: 1 / 1 / 1 / span2;
    }
    .page-item.bag .item-top .page-ttl {
        grid-area: 1 / 1;
    }
    .page-item .item-top .top-txt {
        grid-area: 2 / 1;
        font-size: 2.4rem;
        line-height: 2;
        padding-left: 4rem;
    }
    .page-item.wallet .item-top .top-img {
        grid-area: 2 / 2;
        padding-right: 4rem;
    }
    .page-item.bag .item-top .top-img {
        grid-area: 1 / 2 / 3 / 2;
    }
    .page-item.accessory .item-top .top-img {
        grid-area: 2 / 2;
    }
    .page-item .item-top .kv-img {
        grid-area: 3 / 1 / 3 / span2;
        margin: 2rem 0 5rem;
    }
    .page-item .item-top .txt-wrap {
        grid-area: 4 / 1 / 4 / span2;
    }
}
@media only screen and (min-width: 900px) {
    .page-item .item-top {
        width: 150rem;
        margin: 0 auto 20rem;
        display: grid;
        grid-template-rows: auto auto 1fr;
        align-items: center;
    }
    .page-item.wallet .item-top {
        grid-template-columns: repeat(2, 1fr);
    }
    .page-item.bag .item-top {
        grid-template-columns: 48rem 29rem 1fr;
    }
    .page-item.accessory .item-top {
        grid-template-columns: 50% 15% 35%;
    }
    .page-item .item-top .page-ttl {
        font-size: 14rem;
        padding-left: 15rem;
        grid-area: 1 / 1;
    }
    .page-item.accessory .item-top .page-ttl {
        grid-area: 1 / 1 / 1 / 3;
    }
    .page-item .item-top .top-txt {
        font-size: 2.2rem;
        line-height: 2;
    }
    .page-item.wallet .item-top .top-txt {
        grid-area: 1 / 2;
    }
    .page-item.bag .item-top .top-txt {
        grid-area: 1 / 2 / 1 / 4;
    }
    .page-item.accessory .item-top .top-txt {
        grid-area: 1 / 3;
    }
    .page-item .item-top .kv-img {
        grid-area: 2 / 1 / 2 / span2;
        margin: 4rem 0 8rem;
    }
    .page-item .item-top .txt-wrap {
        padding-left: 15rem;
    }
    .page-item.wallet .item-top .txt-wrap,
    .page-item.accessory .item-top .txt-wrap {
        grid-area: 3 / 1;
    }
    .page-item.bag .item-top .txt-wrap{
        grid-area: 3 / 1 / 3 / 3;
    }
    .page-item .item-top .txt-wrap .txt {
        font-size: max(1.6rem, 16px);
    }
    .page-item .item-top .top-img {
        padding: 0 15rem 0 5rem;
    }
    .page-item.wallet .item-top .top-img {
        grid-area: 3 / 2;
    }
    .page-item.bag .item-top .top-img{
        grid-area: 3 / 3;
    }
    .page-item.accessory .item-top .top-img {
        grid-area: 3 / 2 / 3 / 4;
    }
}

.page-item #recommend {
    background-color: #F5F5F5;
    padding: 18rem 5.5% 26rem;
    margin-bottom: 18rem;
}
.page-item #recommend .list {
    display: grid;
    row-gap: 4rem;
    margin: 12rem 0 0;
}
.page-item #recommend .list li {
    background-color: #fff;
    padding: 7rem 5% 8rem;
}
.page-item #recommend .list li .img-wrap {
    display: grid;
    border-bottom: 1px solid #D6D6D6;
    margin-bottom: 6rem;
}
.page-item #recommend .list li .img-wrap figcaption {
    order: 1;
    text-align: center;
    font-size: 3.2rem;
    font-weight: 600;
    padding-bottom: 4rem;
    border-bottom: 1px solid #333333;
}
.page-item #recommend .list li .img-wrap figcaption .txt {
    font-size: 2.4rem;
    display: block;
}
.page-item #recommend .list li .img-wrap .img {
    order: 2;
    width: 56rem;
    margin: 3.6rem auto;
}
.page-item #recommend .list li .txt-wrap {
    display: grid;
    grid-template-columns: 10rem 1fr;
    column-gap: 4rem;
}
.page-item #recommend .list li .txt-wrap .staff-img {
    text-align: center;
}
.page-item #recommend .list li .txt-wrap .staff-img .img {
    width: 10rem;
    display: block;
    margin-bottom: 2rem;
}
.page-item #recommend .list li .txt-wrap .staff-img figcaption {
    font-size: 3.2rem;
}
.page-item #recommend .list li .txt-wrap .staff-img figcaption span {
    font-size: 2.4rem;
    display: block;
}
.page-item #recommend .list li .txt-wrap .txt {
    font-size: 2.4rem;
}
@media only screen and (min-width: 900px) {
    .page-item #recommend .item-sec-top {
        margin: auto;
    }
    .page-item.wallet #recommend .item-sec-top,
    .page-item.bag #recommend .item-sec-top,
    .page-item.accessory #recommend .item-sec-top {
        width: 56.5%;
    }
    .page-item #recommend {
        padding: 13rem 0 20rem;
    }
    .page-item #recommend .list {
        column-gap: 2.4rem;
        width: 78.9%;
        margin: 7rem auto 0;
    }
    .page-item #recommend .list li {
        padding: 5rem 4rem 4rem;
    }
    .page-item #recommend .list li .img-wrap {
        margin-bottom: 3.5rem;
    }
    .page-item #recommend .list li .img-wrap figcaption {
        font-size: max(1.8rem, 18px);
        line-height: 1.4;
    }
    .page-item #recommend .list li .img-wrap figcaption .txt,
    .page-item #recommend .list li .txt-wrap .txt,
    .page-item #recommend .list li .txt-wrap .staff-img figcaption span {
        font-size: max(1.2rem, 12px);
    }
    .page-item #recommend .list li .txt-wrap .staff-img figcaption {
        font-size: max(1.6rem, 16px);
    }
    .page-item #recommend .list li .img-wrap .img {
        width: 100%;
    }
    .page-item #recommend .list li .txt-wrap {
        grid-template-columns: 8rem 1fr;
    }
    .page-item #recommend .list li .txt-wrap .staff-img .img {
        width: 8rem;
        margin-bottom: 1rem;
    }
}

.page-item #popular {
    width: 87%;
    margin: 0 auto 13rem;
}
.page-item #popular .list {
    display: grid;
    row-gap: 8rem;
    margin-top: 12rem;
}
.page-item #popular .list li {
    padding: 0 0 8rem;
    border-bottom: 1px solid #D6D6D6;
}
.page-item #popular .list li figcaption {
    margin: 5rem 0 4rem;
    font-size: 3.2rem;
    font-weight: 600;
}
.page-item #popular .list li figcaption span {
    display: block;
    font-size: 2.4rem;
    margin-bottom: .5rem;
}
.page-item #popular .list li > .txt {
    font-size: 2.4rem;
}
@media only screen and (min-width: 900px) {
    .page-item #popular {
        width: 73.6%;
        margin: 0 auto 25rem;
    }
    .page-item #popular .item-sec-top,
    .page-item #type .item-sec-top {
        display: grid;
        grid-template-columns: 38rem 1fr;
        column-gap: 12rem;
        align-items: flex-start;
    }
    .page-item #popular .list {
        column-gap: 14rem;
        row-gap: 0;
    }
    .page-item #popular .list li {
        border-bottom: none;
        padding: 0;
    }
    .page-item #popular .list li:not(:nth-of-type(3n)) {
        position: relative;
    }
    .page-item #popular .list li:not(:nth-of-type(3n)):after {
        content: "";
        width: 1px;
        height: 100%;
        background-color: #D6D6D6;
        position: absolute;
        top: 0;
        right: -7rem;
    }
    .page-item #popular .list li figcaption {
        font-size: max(1.8rem, 18px);
        line-height: 1.4;
        margin: 3rem 0 4rem;
    }
    .page-item #popular .list li figcaption .txt,
    .page-item #popular .list li > .txt {
        font-size: max(1.2rem, 12px);
    }
    .page-item #popular .list li:nth-of-type(1) > .txt,
    .page-item #popular .list li:nth-of-type(2) > .txt,
    .page-item #popular .list li:nth-of-type(3) > .txt
    {
        padding-bottom: 7rem;
    }
}

.page-item #type {
    width: 87%;
    margin: 0 auto 15rem;
}
.page-item #type .list {
    display: grid;
    row-gap: 5rem;
    margin-top: 12rem;
}
.page-item #type .list li {
    display: grid;
    grid-template-columns: 24rem 1fr;
    column-gap: 3.6rem;
}
.page-item #type .list li:not(:last-child) {
    padding-bottom: 5rem;
    border-bottom: 1px solid #D6D6D6;
}
.page-item #type .list li .name {
    font-size: 3.2rem;
    font-weight: 600;
    margin-bottom: 4rem;
}
.page-item #type .list li .txt-wrap .txt {
    font-size: 2.4rem;
}
.page-item #type .list li .txt-wrap .more-link {
    margin-top: 3rem;
}
@media only screen and (min-width: 900px) {
    .page-item #type {
        width: 73.6%;
        margin: 0 auto 18rem;
    }
    .page-item #type .list {
        margin-top: 10rem;
        border-top: 1px solid #D6D6D6;
    }
    .page-item #type .list li {
        grid-template-columns: 25rem 1fr;
        column-gap: 4.7rem;
        align-items: center;
    }
    .page-item #type .list li:nth-of-type(odd) {
        padding: 4rem 1.8rem 6rem 0;
    }
    .page-item #type .list li:nth-of-type(even) {
        padding: 4rem 0 6rem 1.8rem;
    }
    .page-item.bag #type .list li:nth-child(9) {
        border-bottom: none;
    }
    .page-item #type .list li .name {
        font-size: max(1.8rem, 18px);
        margin-bottom: 3rem;
    }
    .page-item #type .list li .txt-wrap .txt {
        font-size: max(1.2rem, 12px);
    }
}

#brand-nav {
    background-color: #F5F5F5;
    padding: 16rem 5% 12rem;
}
#brand-nav .nav-ttl {
    text-align: center;
    font-size: 3.6rem;
    font-weight: 600;
    margin-bottom: 4rem;
    line-height: 1.6;
}
#brand-nav .brand-menu {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    row-gap: 1rem;
    column-gap: 1rem;
}
#brand-nav .brand-menu .name {
    background-color: #fff;
    font-size: 2.8rem;
    text-align: center;
    min-height: 11rem;
    display: grid;
    align-content: center;
}
#brand-nav .brand-menu .name-s {
    font-size: 2.2rem;
}
#brand-nav .brand-menu .name-en {
    display: block;
    font-size: 2.2rem;
    color: #B8B8B8
}
@media only screen and (min-width: 900px) {
    #brand-nav {
        width: 100%;
        margin: 0 auto 22rem;
        padding: 11rem 0 10rem;
    }
    #brand-nav .nav-ttl {
        font-size: max(2rem, 20px);
    }
    #brand-nav .brand-menu {
        grid-template-columns: repeat(4,1fr);
        width: 120rem;
        margin: auto;
    }
    #brand-nav .brand-menu .name {
        font-size: max(1.4rem, 14px);
        min-height: max(5.5rem, 55px);
    }
    #brand-nav .brand-menu .name-en {
        font-size: max(1.1rem, 11px);
    }
}

.ec-link .inner {
    width: 82.3%;
    margin: 0 auto 14rem;
    padding-top: 18rem;
}
.ec-link .txt-wrap {
    margin: 2rem 0 0;
}
.ec-link .arrow-btn {
    margin: 8rem auto 0;
}
@media only screen and (min-width: 900px) {
    .ec-link .inner {
        width: 120rem;
        margin: 0 auto 12.8rem;
        padding-top: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto 1fr auto;
        align-items: flex-start;
    }
    .ec-link .img {
        grid-area: 1 / 1 / span 2 / 1;
    }
    .ec-link .img img {
        width: 54.1rem;
    }
    .ec-link .border-ttl {
        grid-area: 1 / 2;
        margin-bottom: 7rem;
    }
    .ec-link .border-ttl .ttl-jp {
        padding-bottom: 0;
    }
    .ec-link .txt-wrap {
        grid-area: 2 / 2;
        margin-top: 0;
    }
    .ec-link .arrow-btn {
        grid-area: 3 / 1 / 3 / span 2;
        margin: 7rem auto 0;
    }
}

/* present */
.present-top .page-top {
    position: relative;
}
.present-top .page-top:after {
    content: "";
    background-color: #F5F5F5;
    width: 39rem;
    height: 15.4rem;
    position: absolute;
    right: 0;
    top: 14rem;
    z-index: -1;
}
.present-top .page-ttl-wrap {
    width: 89.7%;
    margin: auto;
}
.present-top .page-top .img {
    width: 32rem;
    margin: 3rem auto 6rem;
    display: block;
}
@media only screen and (min-width: 900px) {
    .present-top .page-top:after {
        width: 67rem;
        height: 30rem;
        top: 3rem;
    }
    .present-top .page-ttl-wrap {
        width: 156rem;
        margin: 0 0 0 auto;
    }
    .present-top .page-top .img {
        width: 62rem;
        margin: -8rem 33rem 0 96rem;
    }
}

.present-top .top-wrap .txt-wrap .ttl {
    font-size: 4rem;
    margin-bottom: 6rem;
}
@media only screen and (max-width: 899px) {
    .present-top .top-wrap .kv-img {
        display: block;
        width: 86%;
        margin: 0 auto 8rem 0;
    }
    .present-top .top-wrap .txt-wrap {
        width: 89.7%;
        margin: auto;
    }
    .present-top .top-wrap .txt-wrap .img {
        display: block;
        width: 27.8rem;
        margin: 18rem 7.2rem 18rem auto;
    }
}
@media only screen and (min-width: 900px) {
    .present-top .top-wrap {
        display: grid;
        grid-template-columns: 80rem 63.6rem;
        column-gap: 27.6rem;
        margin: -19.2rem 20rem 24rem 0;
    }
    .present-top .top-wrap .txt-wrap {
        width: 100%;
        margin-top: 28rem;
    }
    .present-top .top-wrap .txt-wrap .txt {
        margin-right: 7.8rem;
    }
    .present-top .top-wrap .txt-wrap .img {
        display: block;
        width: 34.8rem;
        margin: 10rem 0 0 auto;
    }
}

.present-top .scene-wrap {
    display: grid;
    row-gap: 16rem;
    margin-bottom: 10rem;
}
.present-top .scene-wrap .wrap {
    width: 93.8%;
}
.present-top .scene-wrap .wrap:nth-of-type(odd) {
    margin-left: auto;
}
.present-top .scene-wrap .wrap:nth-of-type(odd) .txt-wrap {
    padding: 5rem 7.4rem 0 1.8rem;
}
.present-top .scene-wrap .wrap:nth-of-type(even) .txt-wrap {
    padding: 5rem 4rem 0 7rem;
}
@media only screen and (min-width: 900px) {
    .present-top .scene-wrap {
        row-gap: 12rem;
        margin-bottom: 22rem;
    }
    .present-top .scene-wrap .wrap {
        display: grid;
        width: 171rem;
    }
    .present-top .scene-wrap .wrap .border-ttl:after {
        width: 2.5rem;
    }
    .present-top .scene-wrap .wrap .border-ttl .ttl-jp {
        font-size: 2rem;
    }
    .present-top .scene-wrap .wrap:nth-of-type(odd) {
        grid-template-columns: 32.5rem 123.9rem;
        column-gap: 14.7rem;
    }
    .present-top .scene-wrap .wrap:nth-of-type(odd) .txt-wrap {
        order: 1;
        padding: 0;
    }
    .present-top .scene-wrap .wrap:nth-of-type(odd) .img {
        order: 2;
    }
    .present-top .scene-wrap .wrap:nth-of-type(even) {
        grid-template-columns: 123.9rem 32.5rem;
        column-gap: 14.3rem;
    }
    .present-top .scene-wrap .wrap:nth-of-type(even) .border-ttl.right {
        text-align: left;
    }
    .present-top .scene-wrap .wrap:nth-of-type(even) .border-ttl.right:after {
        right: initial;
        left: 0;
    }
    .present-top .scene-wrap .wrap:nth-of-type(even) .txt-wrap {
        padding: 0;
    }
}

.page-present .ranking-bnr {
    display: block;
    width: 87.1%;
    margin: 0 auto 18rem;
}
.page-present .service .wrap {
    background-color: #F5F5F5;
    padding: 17rem 0 16rem;
    margin-bottom: 16rem;
}
.page-present .service .wrap .img {
    display: block;
    width: 88.4%;
    margin: 0 auto 10rem 0;
}
.page-present .service .wrap .txt-wrap {
    width: 82%;
    margin: auto;
}
.page-present .service .wrap .txt-wrap .line-ttl {
    margin-bottom: 6rem;
}
@media only screen and (min-width: 900px) {
    .page-present .ranking-bnr {
        width: 100rem;
        margin: 0 auto 25rem;
    }
    .page-present .service .wrap {
        padding: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-bottom: 10rem;
    }
    .page-present .service .wrap .img {
        width: 100%;
        margin: 0;
    }
    .page-present .service .wrap .txt-wrap {
        width: 62.7rem;
    }
}

.page-present .service .list {
    width: 89.7%;
    margin: 0 auto 20rem;
}
.page-present .service .list .block.free {
    border-bottom: 1px solid #D6D6D6;
    margin-bottom: 9rem;
}
.page-present .service .list .block.free .img {
    position: relative;
}
.page-present .service .list .block.free .img:before {
    content: "";
    background: url(../img/present/icon-free_sp.webp) 0 / contain no-repeat;
    position: absolute;
    width: 12rem;
    height: 15rem;
    top: -2.4rem;
    left: 3.2rem;
}
.page-present .service .list .block .img {
    display: block;
    margin-bottom: 3rem;
}
.page-present .service .list .arrow-btn {
    width: 64rem;
    margin: 6rem auto 10rem;
}
@media only screen and (min-width: 900px) {
    .page-present .service .list {
        width: 187rem;
        margin: 0 auto 12rem;
        display: grid;
        grid-template-columns: repeat(3,1fr);
    }
    .page-present .service .list .block {
        padding: 0 8.5rem;
    }
    .page-present .service .list .block.free {
        border-bottom: none;
        border-right: 1px solid #D6D6D6;
        margin-bottom: 0;
    }
    .page-present .service .list .block.free .img:before {
        background: url(../img/present/icon-free.webp) 0 / contain no-repeat;
        width: 5.9rem;
        height: 7.5rem;
        top: -1.2rem;
        left: 3rem;
    }
    .page-present .service .list .arrow-btn {
        min-width: 35rem;
        width: auto;
        margin: 5rem auto 0;
    }
}

/* present under */
@media only screen and (max-width: 899px) {
.present-under .top-sec {
    display: grid;
    grid-template-columns: 3rem 55.2rem 8.8rem 2rem 9rem;
    grid-template-rows: auto auto 1fr;
    margin-bottom: 13rem;
}
.present-under .top-sec .ttl-wrap {
    grid-area: 1 / 2 / 1 / 4;
    width: max-content;
    margin: 0 0 4rem auto;
}
.present-under .top-sec .ttl-wrap .ttl {
    font-size: 9rem;
    line-height: 1.5;
}
.present-under .top-sec .ttl-wrap .txt {
    font-size: 2.8rem;
}
.present-under .top-sec .kv-img {
    grid-area: 2 / 1 / 2 / 5;
}
.present-under .top-sec .txt-wrap {
    grid-area: 3 / 2;
}
.present-under .top-sec .txt-wrap .ttl {
    font-size: 4rem;
    margin: 7rem 0 5rem;
    line-height: 1.7;
}
.present-under .top-sec .txt-wrap .ttl span {
    font-size: 2.8rem;
    display: block;
    margin-bottom: 1.5rem;
}
.present-under .top-sec .txt-wrap .txt {
    font-size: 3.2rem;
}
.present-under .top-sec .img {
    grid-area: 3 / 4 / 3 / 6;
    margin-top: 33rem;
}
}
@media only screen and (min-width: 900px) {
    .present-under .top-sec {
        display: grid;
        grid-template-columns: 80rem 16rem 52.6rem 26.4rem 17rem;
        grid-template-rows: auto 1fr;
        margin-bottom: 17rem;
    }
    .present-under .top-sec .ttl-wrap {
        grid-area: 1 / 3 / 1 / 5;
    }
    .present-under .top-sec .ttl-wrap .ttl {
        font-size: 14rem;
        line-height: 1.1;
    }
    .present-under .top-sec .ttl-wrap .txt {
        font-size: 3rem;
    }
    .present-under .top-sec .kv-img {
        grid-area: 1 / 1 / 3 / 1;
    }
    .present-under .top-sec .txt-wrap {
        grid-area: 2 / 3;
    }
    .present-under .top-sec .txt-wrap .ttl {
        font-size: 4rem;
        margin: 10rem 0 5rem;
        line-height: 1.7;
    }
    .present-under .top-sec .txt-wrap .ttl span {
        font-size: 2.8rem;
        display: block;
        margin-bottom: 1.5rem;
    }
    .present-under .top-sec .txt-wrap .txt {
        font-size: max(1.6rem, 14px);
    }
    .present-under .top-sec .img {
        grid-area: 2 / 5;
        margin-top: 21rem;
    }
}

.present-under .ranking-nav {
    margin-bottom: 14rem;
}
.present-under .ranking-menu {
    display: grid;
    row-gap: 1rem;
}
.present-under .ranking-nav li a {
    display: grid;
    background-color: #F5F5F5;
    text-align: center;
    font-size: 2.8rem;
    height: 20rem;
    padding-bottom: 3rem;
    place-content: center;
    position: relative;
}
.present-under .ranking-nav li a:after {
    content: "";
    width: 2rem;
    height: 2rem;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    position: absolute;
    top: 63%;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
}
@media only screen and (min-width: 900px) {
    .present-under .ranking-menu {
        grid-template-columns: repeat(3,1fr);
        column-gap: 4px;
    }
    .present-under .ranking-nav li a {
        height: 14rem;
        font-size: max(1.8rem, 18px);
    }
    .present-under .ranking-nav li a:after {
        width: max(1.5rem, 15px);
        height: max(1.5rem, 15px);
        top: 60%;
    }
}

.present-under .ranking-sec .inner {
    width: 92.3%;
    margin: auto;
}
.present-under .ranking-sec .border-ttl .ttl-jp {
    font-size: 2.8rem;
    padding-top: 2rem;
}
.present-under .ranking-sec .border-ttl .ttl-jp span {
    display: block;
    font-size: 2.4rem;
    font-family: initial;
    font-weight: normal;
    color: #B3B3B3;
    margin-top: 1rem;
}
.present-under .ranking-sec .bg-wrap {
    margin: 20rem 0 40rem;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, .16);
    padding: 14rem 4rem 20rem;
}
.present-under .ranking-sec .list {
    padding: 0 2rem 10rem;
    display: grid;
    row-gap: 8rem;
}
.present-under .ranking-sec .list li {
    counter-increment: ranking 1;
    position: relative;
    padding-top: 9.4rem;
    display: grid;
}
.present-under .ranking-sec .list li:before {
    content: "";
    width: 6rem;
    height: 3.5rem;
    position: absolute;
    top: 3.5rem;
    left: 0;
}
.present-under .ranking-sec .list li:after {
    content: counter(ranking);
    font-family: "garamond-premier-pro", serif;
    font-style: normal;
    font-size: 5rem;
    font-weight: 400;
    line-height: 1;
    position: absolute;
    top: 3rem;
    left: 8rem;
}
@media only screen and (min-width: 900px) {
    .present-under .ranking-sec .inner {
        width: 172.2rem;
    }
    .present-under .ranking-sec .inner > .txt-wrap {
        width: 85rem;
        margin: auto;
    }
    .present-under .ranking-sec .border-ttl .ttl-jp {
        font-size: max(1.4rem, 14px);
        padding-top: 0;
    }
    .present-under .ranking-sec .border-ttl .ttl-jp span {
        font-size: max(1.2rem, 12px);
    }
    .present-under .ranking-sec .bg-wrap {
        margin: 13rem 0 max(33rem, 325px);
        position: relative;
        padding: 12rem 8rem 14rem;
    }
    .present-under .ranking-sec .list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        padding: 0;
        row-gap: 11rem;
    }
    .present-under .ranking-sec .list li {
        padding: 4.5rem 7.4rem 0;
        width: 33.3%;
    }
    .present-under .ranking-sec .list li:nth-child(1),
    .present-under .ranking-sec .list li:nth-child(2),
    .present-under .ranking-sec .list li:nth-child(4) {
        border-right: 1px solid #D6D6D6;
    }
    .present-under .ranking-sec .list li:before {
        width: 3.3rem;
        height: 1.9rem;
        left: 8rem;
        top: 1rem;
    }
    .present-under .ranking-sec .list li:after {
        font-size: 3rem;
        left: 13rem;
        top: .5rem;
    }
}

.present-under .ranking-sec .list li:nth-child(1):before {
    background: url(../img/ranking/icon-crown01.svg) 0 / contain no-repeat;
}
.present-under .ranking-sec .list li:nth-child(2):before {
    background: url(../img/ranking/icon-crown02.svg) 0 / contain no-repeat;
}
.present-under .ranking-sec .list li:nth-child(3):before {
    background: url(../img/ranking/icon-crown03.svg) 0 / contain no-repeat;
}
.present-under .ranking-sec .list li:nth-child(4):before,
.present-under .ranking-sec .list li:nth-child(5):before {
    background: url(../img/ranking/icon-crown04.svg) 0 / contain no-repeat;
}
.present-under .ranking-sec .list li:nth-child(1):after {
    color: #C5B68C;
}
.present-under .ranking-sec .list li:nth-child(2):after {
    color: #B3B3B3;
}
.present-under .ranking-sec .list li:nth-child(3):after {
    color: #BF975A;
}
.present-under .ranking-sec .list li .item-ttl {
    border-top: 1px solid #333333;
    padding: 4rem 0 1rem;
    font-size: 3.2rem;
    font-weight: 600;
    font-family: shippori-mincho, sans-serif;
    line-height: 1.8;
}
.present-under .ranking-sec .list li .item-ttl span {
    display: block;
    font-size: 2.4rem;
    margin-bottom: .5rem;
}
.present-under .ranking-sec .list li .price {
    color: #B3B3B3;
    font-size: 2.4rem;
    font-weight: 600;
    font-family: shippori-mincho, sans-serif;
    text-align: right;
    line-height: 2;
}
.present-under .ranking-sec .list li .img {
    margin: 4rem 0 3rem;
}
.present-under .ranking-sec .list li .item-txt {
    font-size: 2.4rem;
    line-height: 2;
}
@media only screen and (min-width: 900px) {
    .present-under .ranking-sec .list li .item-ttl {
        font-size: max(1.8rem, 18px);
        padding: 4rem 0 1rem;
    }
    .present-under .ranking-sec .list li .item-ttl span {
        margin-bottom: 0;
    }
    .present-under .ranking-sec .list li .item-ttl span,
    .present-under .ranking-sec .list li .price,
    .present-under .ranking-sec .list li .item-txt {
        font-size: max(1.2rem, 12px);
    }
    .present-under .ranking-sec .list li .img {
        margin: 3rem 0 1rem;
    }
}

.present-under .ranking-sec .arrow-btn {
    width: 64rem;
    border-radius: 12rem;
}
.present-under .ranking-sec .item-img {
    margin-bottom: 20rem;
    height: 20rem;
    background-size: 230% auto;
    animation: slideBackground 140s linear infinite;
}
.present-under #wallet.ranking-sec .item-img {
    background: url(../img/ranking/wallet-slide_sp.webp) repeat-x top center;
}
.present-under #bag.ranking-sec .item-img {
    background: url(../img/ranking/bag-slide_sp.webp) repeat-x top center;
}
.present-under #accessory.ranking-sec .item-img {
    background: url(../img/ranking/ac-slide_sp.webp) repeat-x top center;
}
@keyframes slideBackground {
    from {
        background-position: 0 top;
    }

    to {
        background-position: 726.1vw top;
    }
}
@media only screen and (min-width: 900px) {
    .present-under .ranking-sec .arrow-btn {
        position: absolute;
        top: calc(100% + 9rem);
        left: 50%;
        transform: translateX(-50%);
        min-width: 45rem;
        width: auto;
    }
    .present-under .ranking-sec .item-img {
        height: 40rem;
        margin-bottom: 14rem;
    }
    .present-under #wallet.ranking-sec .item-img {
        background: url(../img/ranking/wallet-slide.webp) top center / cover repeat-x;
    }
    .present-under #bag.ranking-sec .item-img {
        background: url(../img/ranking/bag-slide.webp) top center / cover repeat-x;
    }
    .present-under #accessory.ranking-sec .item-img {
        background: url(../img/ranking/ac-slide.webp) top center / cover repeat-x;
        margin-bottom: 24rem;
    }
}

/* insert name */
.present-under .features-wrap {
    padding: 14rem 5rem 16rem;
    margin-bottom: 14rem;
}
.present-under .features-wrap .list {
    display: grid;
    row-gap: 8rem;
    margin: 12rem 0 0;
}
.present-under .features-wrap .list li .sec-ttl {
    font-family: shippori-mincho, sans-serif;
    font-size: 4.8rem;
    font-weight: 600;
    margin-bottom: 4rem;
    text-align: center;
}
@media only screen and (max-width: 899px) {
    .present-under .features-wrap .inner > .txt-wrap {
        padding: 0 1rem;
    }
    .present-under .features-wrap .list li:not(:last-child) {
        padding-bottom: 7rem;
        border-bottom: 1px solid #D6D6D6;
    }
    .present-under .features-wrap .list li .img {
        display: block;
        width: 56rem;
        margin: 0 auto 5rem;
    }
}
@media only screen and (min-width: 900px) {
    .present-under .features-wrap {
        padding: 14rem 0 16rem;
        margin-bottom: 20rem;
    }
    .present-under .features-wrap .inner {
        width: 160rem;
        margin: auto;
    }
    .present-under .features-wrap .inner > .txt-wrap {
        width: 85rem;
        margin: auto;
    }
    .present-under .features-wrap .list {
        grid-template-columns: repeat(3,1fr);
    }
    .present-under .features-wrap .list li {
        padding: 0 5rem;
    }
    .present-under .features-wrap .list li:not(:last-child) {
        border-right: 1px solid #D6D6D6;
    }
    .present-under .features-wrap .list li .sec-ttl {
        font-size: 3rem;
        margin: 4rem 0 3rem;
    }
}

.present-under .typeface-wrap > .txt-wrap {
    width: 85.8%;
    margin: 0 auto 11rem;
}
.present-under .typeface-wrap .img {
    display: block;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, .16);
    margin-bottom: 12rem;
}
.present-under .typeface-wrap .wrap {
    width: 89.7%;
    margin: auto;
}
.present-under .typeface-wrap .wrap .sec-ttl {
    font-size: 4rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 4rem;
}
.present-under .typeface-wrap .wrap .list-wrap {
    margin: 7rem 0 16rem;
    display: grid;
    row-gap: 2rem;
}
.present-under .typeface-wrap .wrap .list-wrap dl {
    background-color: #F5F5F5;
    padding: 7rem 4rem;
}
.present-under .typeface-wrap .wrap .list-wrap dt {
    text-align: center;
    font-size: 3.2rem;
    font-weight: 600;
    margin-bottom: 3rem;
}
.present-under .typeface-wrap .wrap .list-wrap dd {
    font-size: 2.8rem;
    line-height: 2;
}
@media only screen and (min-width: 900px) {
    .present-under .typeface-wrap > .txt-wrap {
        width: 85rem;
        margin: 0 auto 8rem;
    }
    .present-under .typeface-wrap .wrap {
        width: 120rem;
    }
    .present-under .typeface-wrap .wrap .txt-wrap {
        width: 90rem;
        margin: 0 auto 5rem;
    }
    .present-under .typeface-wrap .wrap .list-wrap {
        grid-template-columns: repeat(2,1fr);
        column-gap: 2.4rem;
    }
    .present-under .typeface-wrap .wrap .list-wrap dl {
        padding: 8rem 11rem;
    }
    .present-under .typeface-wrap .wrap .list-wrap dt {
        font-size: max(1.8rem, 18px);
    }
    .present-under .typeface-wrap .wrap .list-wrap dd {
        font-size: max(1.4rem, 14px);
    }
}

/* wrapping */
.present-under .type-wrap {
    padding: 14rem 3rem 20rem;
    margin-bottom: 14rem;
}
.present-under .type-wrap .inner > .txt-wrap {
    width: 85.8%;
    margin: 0 auto 10rem;
}
.present-under .type-wrap .type-list {
    background-color: #fff;
    padding: 5.8rem 4.8rem;
}
.present-under .type-wrap .type-list .type-num {
    text-align: center;
    color: #B3B3B3;
    font-family: roboto, sans-serif;
    font-size: 2.2rem;
    display: block;
    margin-bottom: 3rem;
}
.present-under .type-wrap .type-list .type-ttl {
    text-align: center;
    font-size: 3.6rem;
    font-weight: 600;
    font-family: shippori-mincho, sans-serif;
    margin-bottom: 4rem;
}
@media only screen and (min-width: 900px) {
    .present-under .type-wrap {
        padding: 13rem 0 20rem;
        margin-bottom: 23rem;
    }
    .present-under .type-wrap .inner > .txt-wrap {
        width: 85rem;
    }
    .present-under .type-wrap .type-list {
        width: 150rem;
        padding: 10rem 9rem;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(3,1fr);
        column-gap: 5.4rem;
        row-gap: 3.4rem;
    }
    .present-under .type-wrap .type-list .type-num {
        font-size: max(1.1rem, 11px);
    }
    .present-under .type-wrap .type-list .type-ttl {
        font-size: max(2.4rem, 20px);
        line-height: 1.6;
        margin-bottom: 2rem;
    }
}
.present-under .service-wrap {
    padding: 0 5rem 17rem;
}
.present-under .service-list li .type-num {
    color: #B3B3B3;
    font-family: roboto, sans-serif;
    font-size: 2.2rem;
    display: block;
    margin: 4rem 0 2rem;
}
.present-under .service-list li .service-ttl {
    font-size: 4rem;
    font-weight: 600;
    font-family: shippori-mincho, sans-serif;
    margin-bottom: 4rem;
}
@media only screen and (max-width: 899px) {
    .present-under .service-list {
        margin-top: 10rem;
        display: grid;
        row-gap: 9rem;
    }
    .present-under .service-list li:not(:last-child) {
        border-bottom: 1px solid #D6D6D6;
        padding-bottom: 9rem;
    }
}
@media only screen and (min-width: 900px) {
    .present-under .service-wrap {
        padding: 0 0 21rem;
    }
    .present-under .service-wrap .inner > .txt-wrap {
        width: 85rem;
        margin: auto;
    }
    .present-under .service-list {
        width: 150rem;
        margin: 10rem auto 0;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        border-bottom: 1px solid #D6D6D6;
    }
    .present-under .service-list li {
        display: grid;
        grid-template-columns: 30rem 1fr;
        column-gap: 5rem;
        border-top: 1px solid #D6D6D6;
    }
    .present-under .service-list li:nth-of-type(odd) {
        padding: 7.8rem 3.3rem 7.8rem 5.2rem;
    }
    .present-under .service-list li:nth-of-type(even) {
        padding: 7.8rem 5.2rem 7.8rem 3.3rem;
    }
    .present-under .service-list li .type-num {
        margin: 0 0 2rem;
        font-size: max(1.1rem, 11px);
    }
    .present-under .service-list li .service-ttl {
        font-size: max(2.4rem, 20px);
        margin-bottom: 5rem;
    }
}

/* delivery */
.present-under .free-wrap {
    padding: 14rem 0 26rem;
    margin-bottom: 22rem;
}
.present-under .free-wrap .inner > .txt-wrap {
    width: 85.8%;
    margin: 0 auto 10rem;
}
.present-under .free-wrap .free-list {
    width: 82.1%;
    margin: auto;
    display: grid;
    row-gap: 7.8rem;
}
.present-under .free-wrap .free-list li .img {
    width: 12rem;
    display: block;
    margin: 0 auto 5rem;
}
.present-under .free-wrap .free-list li .type-num {
    text-align: center;
    color: #B3B3B3;
    font-family: roboto, sans-serif;
    font-size: 2.2rem;
    display: block;
    margin-bottom: 2rem;
}
.present-under .free-wrap .free-list li .free-ttl {
    font-size: 4rem;
    font-weight: 600;
    font-family: shippori-mincho, sans-serif;
    margin-bottom: 4rem;
    text-align: center;
}
@media only screen and (max-width: 899px) {
    .present-under .free-wrap .free-list li:not(:last-child) {
        padding-bottom: 8rem;
        border-bottom: 1px solid #D6D6D6;
    }
}
@media only screen and (min-width: 900px) {
    .present-under .free-wrap {
        padding: 14rem 0 18rem;
    }
    .present-under .free-wrap .inner > .txt-wrap {
        width: 85rem;
        margin: 0 auto 13rem;
    }
    .present-under .free-wrap .free-list {
        width: 165rem;
        grid-template-columns: repeat(3,1fr);
        row-gap: 0;
    }
    .present-under .free-wrap .free-list li {
        padding: 0 7.5rem;
    }
    .present-under .free-wrap .free-list li:nth-child(1),
    .present-under .free-wrap .free-list li:nth-child(2),
    .present-under .free-wrap .free-list li:nth-child(3) {
        padding-bottom: 10rem;
    }
    .present-under .free-wrap .free-list li:nth-child(1),
    .present-under .free-wrap .free-list li:nth-child(2),
    .present-under .free-wrap .free-list li:nth-child(4),
    .present-under .free-wrap .free-list li:nth-child(5) {
        border-right: 1px solid #D6D6D6;
    }
    .present-under .free-wrap .free-list li .img {
        width: 8rem;
        margin: 0 auto 3rem;
    }
    .present-under .free-wrap .free-list li .type-num {
        font-size: max(1.1rem, 11px);
    }
    .present-under .free-wrap .free-list li .free-ttl {
        font-size: max(2.4rem, 24px);
    }
}

/* company */
.page-company .purpose {
    margin: 18rem 0 20rem;
    display: grid;
}
@media only screen and (max-width: 899px) {
    .page-company .purpose .ttl {
        margin: 0 0 0 5.6rem;
        order: 1;
    }
    .page-company .purpose .img {
        order: 2;
        width: 74rem;
        margin: 5rem 0 9rem 0;
        z-index: -1;
    }
    .page-company .purpose .txt-wrap {
        width: 70rem;
        margin: auto;
    }
    .page-company .purpose .txt01 {
        order: 3;
    }
    .page-company .purpose .img03 {
        order: 4;
        width: 65.8rem;
        margin: 8rem 0 8rem auto;
    }
    .page-company .purpose .txt02 {
        order: 5;
    }
}
@media only screen and (min-width: 900px) {
    .page-company {
        padding-top: 49rem;
        background: url(../img/company/kv.webp) top left / 89.1% 40rem no-repeat;
    }
    .page-company .purpose {
        width: 176.6rem;
        margin: 0 0 33rem auto;
        grid-template-columns: 58.8rem 102rem 1fr;
        grid-template-rows: 50rem max-content 1fr;
    }
    .page-company .purpose .ttl {
        grid-area: 1 / 1 / 1 / 3;
        margin-left: 17.4rem;
        z-index: 2;
    }
    .page-company .purpose .img01 {
        grid-area: 1 / 2 / 3 / 2;
        margin-top: 13rem;
    }
    .page-company .purpose .img02 {
        grid-area: 2 / 1;
        width: 56.6rem;
    }
    .page-company .purpose .txt-wrap {
        width: 58rem;
    }
    .page-company .purpose .txt01 {
        grid-area: 2 / 2;
        margin: 43rem 0 0 19rem;
    }
    .page-company .purpose .img03 {
        grid-area: 3 / 2 / 3 / 4;
        width: 80.3rem;
        margin: 11.1rem 0 0 auto;
    }
    .page-company .purpose .txt02 {
        grid-area: 3 / 1 / 3 / 3;
        margin: 20.5rem 0 0 22.7rem;
    }
}

.page-company .overview,
.page-company .history {
    width: 70rem;
    margin: 0 auto 22rem;
}
.page-company .overview .wrap {
    display: grid;
    row-gap: 6.5rem;
}
.page-company .overview .list {
    padding: 0 1rem;
}
.page-company .overview .list:not(:last-child) {
    padding-bottom: 6rem;
    border-bottom: 1px solid #2B2B30;
}
.page-company .overview dt {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 3rem;
}
.page-company .overview dd {
    font-size: 2.8rem;
    line-height: 2;
}
.page-company .overview dd a {
    text-decoration: underline;
}
@media only screen and (max-width: 899px) {
    .page-company .overview .line-ttl {
        margin: 0 0 10rem 1rem;
    }
}
@media only screen and (min-width: 900px) {
    .page-company .overview,
    .page-company .history {
        width: 150rem;
        margin: 0 auto 20rem;
        display: grid;
        grid-template-columns: 1fr 95rem;
        align-items: flex-start;
    }
    .page-company .overview .wrap {
        row-gap: max(3rem, 30px);
    }
    .page-company .overview .list {
        display: grid;
        grid-template-columns: 25.3rem 1fr;
        align-items: center;
        padding: 0;
    }
    .page-company .overview .list:not(:last-child) {
        padding-bottom: max(3rem, 30px);
    }
    .page-company .overview dt {
        font-size: max(1.8rem, 18px);
        margin-bottom: 0;
    }
    .page-company .overview dd {
        font-size: max(1.6rem, 16px);
    }
}

.page-company .history .line-ttl {
    margin: 0 0 7rem 1rem;
}
.page-company .timeline .item {
    display: grid;
    padding: 0 1rem 8rem;
    row-gap: 6rem;
}
.page-company .timeline .item:not(:last-child) {
    border-bottom: 1px solid #D6D6D6;
    margin-bottom: 6rem;
}
.page-company .timeline-date {
    font-size: 4.4rem;
    font-family: shippori-mincho, sans-serif;
    font-weight: 600;
}
.page-company .timeline-content {
    font-size: 2.8rem;
    line-height: 2;
    letter-spacing: 0;
    display: grid;
    row-gap: 2rem;
}
.page-company .timeline-content li {
    display: grid;
    grid-template-columns: 9.6rem 1fr;
}
.page-company .timeline-content .month {
    font-weight: 600;
}
@media only screen and (min-width: 900px) {
    .page-company .timeline .item {
        grid-template-columns: 25.3rem 1fr;
        padding: 0;
    }
    .page-company .timeline-date {
        font-size: max(3rem, 30px);
        line-height: 1;
    }
    .page-company .timeline-content {
        font-size: max(1.6rem, 16px);
        padding-bottom: max(4rem, 40px);
    }
    .page-company .timeline-content li {
        grid-template-columns: max(7rem, 70px) 1fr;
    }
}

/* recruit */
@media only screen and (max-width: 899px) {
    .page-recruit .joinus {
        width: 93.5%;
        margin: 15rem 0 15rem auto;
    }
    .page-recruit .joinus .line-ttl {
        margin-bottom: 6rem;
    }
    .page-recruit .joinus .wrap:last-child {
        display: grid;
    }
    .page-recruit .joinus .wrap:last-child .txt-wrap {
        margin: 8rem 5.2rem 8rem 0;
    }
}
@media only screen and (min-width: 900px) {
    .page-recruit {
        padding-top: 49rem;
        background: url(../img/recruit/kv.webp) top left / 89.1% 40rem no-repeat;
    }
    .page-recruit .line-ttl {
        margin-bottom: 8rem;
    }
    .page-recruit .wrap {
        width: 156rem;
    }
    .page-recruit .wrap:first-child {
        margin: 18rem 0 22rem auto;
    }
    .page-recruit .wrap:last-child {
        margin: 0 auto 37rem 0;
        display: grid;
        grid-template-columns: 89.2rem 1fr;
        column-gap: 18rem;
    }
    .page-recruit .wrap:last-child .img {
        order: 1;
    }
    .page-recruit .wrap:last-child .txt-wrap {
        order: 2;
        margin-top: 1rem;
    }
    .page-recruit .wrap .txt-wrap .txt {
        font-size: max(18px, 1.8rem);
    }
}
.page-recruit .bg-sec {
    padding: 12rem 5rem 14rem;
    margin-bottom: 16rem;
}
.page-recruit .bg-ttl {
    font-size: 4rem;
    line-height: 1.7;
    text-align: center;
    padding: 10rem 0 6rem;
    position: relative;
}
.page-recruit .bg-ttl:before {
    content: "";
    width: 8rem;
    height: 8.6rem;
    background: url(../img/common/icon-logo.svg) 0 / contain no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
@media only screen and (min-width: 900px) {
    .page-recruit .bg-sec {
        margin: 20rem 0;
        padding: 8rem 22rem 11rem;
    }
    .page-recruit .bg-ttl {
        font-size: max(30px, 3rem);
        padding: max(50px, 5rem) 0 6rem;
    }
    .page-recruit .bg-ttl:before {
        width: max(40px, 4rem);
        height: max(44px, 4.4rem);
    }
    .page-recruit .bg-sec .txt-wrap.pc-only {
        width: 105rem;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 5rem;
    }
    .page-recruit .bg-sec .txt + .txt {
        margin-top: 0;
    }
}
.page-recruit .description .border-ttl {
    margin-bottom: 8rem;
}
.page-recruit .description .inner {
    width: 72rem;
    margin: 0 auto 22rem;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, .16);
}
.page-recruit .description .inner .list-wrap {
    padding: 2rem 5rem;
}
.page-recruit .description .inner .list-wrap .list {
    padding: 6rem 0;
}
.page-recruit .description .inner .list-wrap .list + .list {
    border-top: 1px solid #D6D6D6;
}
.page-recruit .description .inner .list-wrap .list > dt {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 2rem;
}
.page-recruit .description .inner .list-wrap .list > dd {
    font-size: 2.8rem;
    line-height: 2;
}
.page-recruit .description .inner .list-wrap .sublist {
    display: flex;
    flex-wrap: wrap;
    row-gap: 2rem;
}
.page-recruit .description .inner .list-wrap .sublist dt {
    width: 22rem;
}
.page-recruit .description .inner .list-wrap .sublist dt .txt {
    display: block;
    width: max-content;
    background-color: #fff;
    position: relative;
    padding-right: 1rem;
}
.page-recruit .description .inner .list-wrap .sublist dt .txt:after {
    content: "";
    width: 21rem;
    height: 1px;
    border-bottom: 1px dashed #1E1F1A;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: -1;
}
.page-recruit .description .inner .list-wrap .sublist dd {
    width: calc(100% - 22rem);
}
.page-recruit .arrow-btn {
    margin: 3rem auto 11rem;
    width: 64rem;
    text-align: center;
    font-size: 3.2rem;
    font-weight: 600;
}
@media only screen and (min-width: 900px) {
    .page-recruit .description .inner {
        width: 120rem;
        margin-bottom: 19.5rem;
        padding: 6rem 10rem 10rem;
    }
    .page-recruit .description .inner .list-wrap {
        padding: 0 10rem;
    }
    .page-recruit .description .inner .list-wrap .list {
        padding: max(20px, 2rem) 0;
        display: grid;
        grid-template-columns: max(120px, 12rem) 1fr;
    }
    .page-recruit .description .inner .list-wrap .list > dt {
        font-size: max(16px, 1.6rem);
        line-height: max(28px, 2.8rem);
        margin-bottom: 0;
    }
    .page-recruit .description .inner .list-wrap .list > dd {
        font-size: max(14px, 1.4rem);
    }
    .page-recruit .description .inner .list-wrap .sublist dt {
        width: max(110px, 11rem);
    }
    .page-recruit .description .inner .list-wrap .sublist dd {
        width: calc(100% - max(110px, 11rem));
    }
    .page-recruit .description .inner .list-wrap .sublist dt .txt {
        font-size: max(14px, 1.4rem);
    }
    .page-recruit .description .inner .list-wrap .sublist dt .txt:after {
        width: max(100px, 10rem);
    }
    .page-recruit .arrow-btn {
        margin: 7rem auto 8.5rem;
        width: max(48rem, 480px);
        text-align: center;
        font-size: max(1.8rem, 18px);
        padding: 3rem 5rem 3rem 2.4rem;
    }
}
.page-recruit .job-opening {
    width: 64rem;
    margin: auto;
    padding-bottom: 18rem;
}
.page-recruit .job-opening .ttl {
    font-size: 3.2rem;
    text-align: center;
    background-color: #918E85;
    color: #fff;
    line-height: 8rem;
    margin-bottom: 4rem;
}
.page-recruit .job-opening .list {
    width: 60rem;
    margin: 0 auto;
    display: grid;
    row-gap: 6px;
}
.page-recruit .job-opening .list li a {
    display: grid;
    align-items: center;
    background-color: #F5F5F5;
    font-size: 2.8rem;
    position: relative;
    height: 10rem;
    text-align: center;
}
.page-recruit .job-opening .list li a:after {
    content: "";
    width: 4.4rem;
    height: 4.4rem;
    background: url(../img/common/btn-arrow-b.svg) 0 / contain no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 4.4rem;
}
@media only screen and (min-width: 900px) {
    .page-recruit .job-opening {
        width: 100%;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .page-recruit .job-opening .ttl {
        font-size: max(1.8rem, 18px);
        line-height: max(5rem, 50px);
        margin-bottom: 3rem;
    }
    .page-recruit .job-opening .list {
        width: 100%;
        grid-template-columns: repeat(3,1fr);
        column-gap: 1.5rem;
        row-gap: 1.2rem;
    }
    .page-recruit .job-opening .list li a {
        font-size: max(1.4rem, 14px);
        height: max(5rem, 50px);
        border: 1px solid transparent;
    }
    .page-recruit .job-opening .list li a:after {
        width: max(2.5rem, 25px);
        height: max(2.5rem, 25px);
    }
    .page-recruit .job-opening .list li a:hover {
        background-color: #fff;
        border: 1px solid #B3B3B3;
    }
    .page-recruit .job-opening .list li a:hover:after {
        background: url(../img/common/btn-arrow-w.svg) 0 / contain no-repeat;
    }
}

/* ec */
.ec-sec:not(.search) {
    display: grid;
}
.ec-sec .ec-ttl {
    font-family: "aw-conqueror-didot", serif;
    font-size: 8rem;
    text-align: center;
    margin-bottom: 5rem;
}
.ec-sec .ec-txt {
    font-family: shippori-mincho, sans-serif;
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 5rem;
}
@media only screen and (min-width: 900px) {
    .page-ec {
        padding-top: 49rem;
        background: url(../img/ec/kv.webp) top left / 89.1% 40rem no-repeat;
    }
    .ec-sec:not(.search) .ec-ttl,
    .ec-sec:not(.search) .ec-txt {
        text-align: left;
    }
    .ec-sec .ec-ttl {
        font-size: 8rem;
        margin-bottom: max(45px, 4.5rem);
    }
    .ec-sec .ec-txt {
        font-size: max(18px,2rem);
        margin-bottom: max(30px, 3rem);
    }
}

@media only screen and (max-width: 899px) {
    .ec-sec.purpose {
        width: 95%;
        margin: 15rem 0 18rem auto;
    }
    .ec-sec.purpose .line-ttl {
        margin: 0 0 7rem 5rem;
    }
    .ec-sec.purpose .img {
        display: block;
    }
    .ec-sec.purpose .img01 {
        margin: 0 0 9rem 5rem;
    }
    .ec-sec.purpose .txt-wrap {
        margin-right: 4rem;
        text-align: justify;
    }
    .ec-sec.purpose .txt-wrap .txt {
        font-size: 3.2rem;
    }
    .ec-sec.purpose .img02 {
        width: 52rem;
        margin: 6rem 0 10rem 3rem;
    }
    .ec-sec.purpose .arrow-btn {
        width: 64rem;
        margin: 0 auto 0 3rem;
    }
}
@media only screen and (min-width: 900px) {
    .ec-sec.purpose {
        width: 156rem;
        margin: 18rem 0 20rem auto;
        grid-template-columns: 11.4rem 37.5rem 11.1rem 1fr;
        grid-template-rows: auto auto 14rem auto auto;
    }
    .ec-sec.purpose .img01 {
        grid-area: 1 / 2 / 3 / 5;
    }
    .ec-sec.purpose .line-ttl {
        grid-area: 1 / 1 / 2 / 3;
    }
    .ec-sec.purpose .txt-wrap {
        grid-area: 4 / 1 / 5 / 4;
    }
    .ec-sec.purpose .txt-wrap .txt {
       font-size: max(16px,1.8rem);
    }
    .ec-sec.purpose .img02 {
        grid-area: 4 / 4 / 5 / 5;
        width: 40rem;
        margin: 0 36rem 0 19.8rem;
    }
    .ec-sec.purpose .arrow-btn {
        grid-area: 5 / 1 / 6 / 3;
        margin: 8rem 0 0 0;
        min-width: 35rem;
    }
}

.ec-sec.bg-sec {
    width: 72rem;
}
.ec-sec.lineup {
    padding: 16rem 2rem 14rem;
    margin: 0 auto 14rem;
}
.ec-sec.lineup .img {
    order: 1;
    margin-bottom: 1rem;
}
.ec-sec.lineup .txt-wrap {
    order: 2;
}
@media only screen and (max-width: 899px) {
    .ec-sec.lineup .ec-ttl {
        text-align: right;
        margin: 0 2rem 10rem 0;
    }
    .ec-sec.lineup .ec-txt {
        text-align: left;
        margin: 0 0 5rem 2rem; 
    }
    .ec-sec.lineup .txt {
        margin-right: 2rem;
        margin-left: 2rem;
    }
}
@media only screen and (min-width: 900px) {
    .ec-sec.bg-sec {
        width: 180rem;
    }
    .ec-sec.lineup {
        padding: 16rem 14rem 14rem;
        grid-template-columns: 85rem 1fr;
        column-gap: 10rem;
    }
    .ec-sec.lineup .txt-wrap {
        padding-right: 15rem;
    }
}
.ec-sec.search .img {
    display: block;
    margin-bottom: 6rem;
}
.ec-sec.search .txt {
    width: 64rem;
    margin: 6rem auto 16rem;
}
@media only screen and (min-width: 900px) {
    .ec-sec.search {
        width: 150rem;
        margin: 0 auto 16rem;
    }
    .ec-sec.search .ec-ttl {
        margin-bottom: max(30px, 3rem);
    }
    .ec-sec.search .ec-txt {
        margin-bottom: max(20px, 2rem);
    }
    .ec-sec.search .img {
        margin-bottom: max(40px, 4rem);
    }
    .ec-sec.search .txt {
        width: 90rem;
        margin: auto;
    }
}
@media only screen and (max-width: 899px) {
    .ec-sec.movie {
        margin: 0 auto 20rem;
        padding: 12rem 4rem 16rem;
    }
    .ec-sec.movie .ec-ttl {
        order: 1;
        text-align: left;
    }
    .ec-sec.movie .ec-txt {
        text-align: left;
    }
    .ec-sec.movie .img {
        order: 2;
        margin-bottom: 6rem;
    }
    .ec-sec.movie .txt-wrap {
        order: 3;
    }
}
@media only screen and (min-width: 900px) {
    .ec-sec.movie {
        grid-template-columns: 1fr 70.6rem;
        grid-template-rows: repeat(3,auto);
        column-gap: 14.5rem;
        margin: 0 auto 20rem;
        padding: 16rem 15rem 16rem 30rem;
    }
    .ec-sec.movie .ec-ttl {
        grid-area: 1 / 1;
        margin-bottom: max(40px, 4rem);
    }
    .ec-sec.movie .img {
        grid-area: span 3 / 2;
    }
    .ec-sec.movie .txt-wrap {
        grid-area: 2 / 1;
    }
    .ec-sec.movie .ec-txt {
        margin-bottom: max(20px, 2rem);
    }
}
.ec-bnr {
    display: block;
    width: 68rem;
    margin: 0 auto 20rem;
}
@media only screen and (min-width: 900px) {
    .ec-bnr {
        width: 100rem;
        min-width: 600px;
        margin: 0 auto 19.5rem;
    }
}

/* store */
.page-store .top-wrap {
    width: 64rem;
    margin: 0 auto 11rem;
}
.page-store .top-wrap .store-ttl {
    font-size: 4.4rem;
    font-weight: 600;
    margin-bottom: 4rem;
}
.page-store .top-wrap .store-txt {
    font-size: 3.2rem;
    line-height: 2;
}
@media only screen and (min-width: 900px) {
    .page-store {
        padding-top: 49rem;
        background: url(../img/store/kv.webp) top left / 89.1% 40rem no-repeat;
    }
    .page-store .top-wrap {
        width: 100%;
        margin: 0 auto max(8rem, 80px);
    }
    .page-store .top-wrap .store-ttl {
        font-size: max(5rem, 50px);
    }
    .page-store .top-wrap .store-txt {
        font-size: max(1.6rem, 16px);
    }
}
.page-store .tokyo-area {
    margin: 16rem 0 22rem;
}
.page-store .all-area .store-list {
    width: 64rem;
    margin: 0 auto 18rem;
    display: grid;
    row-gap: 10rem;
}
.page-store .store-list li {
    display: grid;
    row-gap: 7.5rem;
}
.page-store .store-list li .img {
    order: 1;
}
.page-store .store-list li .txt-wrap {
    order: 2;
}
.page-store .store-list li .txt-wrap .name {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    margin-bottom: 5rem;
}
.page-store .tokyo-area .store-list li .txt-wrap .name {
    font-size: 2.8rem;
}
.page-store .all-area .store-list li .txt-wrap .name {
    font-size: 2.4rem;
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 1.8rem;
    align-items: flex-start;
}
.page-store .store-list li .txt-wrap .name strong {
    font-size: 4rem;
    margin-top: -1.4rem;
}
.page-store .tokyo-area .store-list li .txt-wrap .name strong {
    margin-top: 1rem;
    display: block;
}
.page-store .store-list li .list {
    display: grid;
    grid-template-columns: 16rem 1fr;
    font-size: 2.4rem;
    line-height: 2;
    align-items: center;
}
.page-store .store-list li .list:not(:last-child) {
    margin-bottom: 2.5rem;
}
.page-store .store-list li .arrow-btn {
    margin-top: 5rem;
}
@media only screen and (max-width: 899px) {
    .page-store .tokyo-area .store-list .txt-wrap {
        width: 64rem;
        margin: 0 auto;
    }
}
@media only screen and (min-width: 900px) {
    .page-store section {
        width: 120rem;
        min-width: 800px;
        margin: auto;
    }
    .page-store .tokyo-area {
        margin: 23rem auto;
    }
    .page-store .tokyo-area .store-list li {
        grid-template-columns: 76.5rem 1fr;
        column-gap: 7rem;
    }
    .page-store .tokyo-area .store-list li .txt-wrap {
        display: grid;
        grid-template-rows: 1fr auto auto auto auto;
    }
    .page-store .store-list {
        grid-template-columns: repeat(2,1fr);
        column-gap: max(9rem, 90px);
        row-gap: max(9rem, 90px);
        align-items: flex-start;
    }
    .page-store .all-area .store-list {
        width: 100%;
    }
    .page-store .store-list li {
        row-gap: max(4rem, 40px);
    }
    .page-store .tokyo-area .store-list li .txt-wrap .name,
    .page-store .all-area .store-list li .txt-wrap .name {
        font-size: max(1.4rem, 14px);
        margin-bottom: max(4rem, 40px);
    }
    .page-store .tokyo-area .store-list li .txt-wrap .name strong {
        font-size: max(2.5rem, 25px);
    }
    .page-store .all-area .store-list li .txt-wrap .name strong {
        font-size: max(2rem, 20px);
        margin-top: -.7rem;
    }
    .page-store .store-list li .list {
        grid-template-columns: max(9rem, 90px) 1fr;
        font-size: max(1.2rem, 12px);
    }
    .page-store .store-list li .list:not(:last-child) {
        margin-bottom: max(1.7rem, 17px);
    }
    .page-store .store-list li .arrow-btn {
        margin-top: max(1rem, 10px);
    }
}

/* store 各店 */
.store-page .store-kv {
    text-align: center;
    margin-bottom: 16rem;
}
.store-page .store-kv .ttl-wrap {
    margin-bottom: 10rem;
}
.store-page .store-kv .ttl-wrap .ttl-en {
    font-size: 2.2rem;
    letter-spacing: .25em;
    display: block;
    margin-bottom: 2rem;
}
.store-page .store-kv .ttl-wrap .ttl-jp {
    font-size: 4.8rem;
    font-weight: 600;
}
@media only screen and (min-width: 900px) {
    .store-page .store-kv {
        margin-bottom: 8rem;
    }
    .store-page .store-kv .ttl-wrap {
        margin-bottom: 6rem;
    }
    .store-page .store-kv .ttl-wrap .ttl-en {
        font-size: max(1.6rem, 16px);
    }
    .store-page .store-kv .ttl-wrap .ttl-jp {
        font-size: 5rem;
    }
}

.store-page .store-intro {
    width: 74rem;
    margin: 22rem 0 26rem auto;
}
.store-page .store-intro .ttl-wrap {
    margin: 7rem 0;
    text-align: center;
    padding-right: 4rem;
}
.store-page .store-intro .ttl-wrap .ttl-txt {
    font-size: 2.4rem;
    font-weight: 600;
    display: block;
    margin-bottom: 3rem;
}
.store-page .store-intro .ttl-wrap .ttl-jp {
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.7;
}
.store-page .store-intro .txt-wrap .txt {
    font-size: 3.2rem;
    text-align: justify;
}
.store-page .store-intro .img02 {
    padding-right: 7.4rem;
    display: block;
}
@media only screen and (max-width: 899px) {
    .store-page .store-intro .txt-wrap {
        padding-right: 4rem;
        margin-bottom: 8rem;
    }
}
@media only screen and (min-width: 900px) {
    .store-page .store-intro {
        width: 171rem;
        margin: 20rem 0 38rem auto;
        display: grid;
        grid-template-columns: 52.7rem 65.5rem 1fr;
        grid-template-rows: auto auto 1fr;
    }
    .store-page .store-intro .ttl-wrap {
        grid-area: 1 / 1 / 2 / 4;
    }
    .store-page .store-intro .ttl-wrap .ttl-txt {
        font-size: 2.8rem;
    }
    .store-page .store-intro .txt-wrap {
        grid-area: 2 / 1 / 3 / 2;
        padding: 5rem 14rem 0 0;
    }
    .store-page .store-intro .txt-wrap .txt {
        font-size: max(1.6rem, 16px);
    }
    .store-page .store-intro .img01 {
        grid-area: 2 / 2 / 3 / 4;
    }
    .store-page .store-intro .img02 {
        grid-area: 3 / 1 / 4 / 3;
        padding: 11rem 0 0 0;
    }
}
.store-page .store-access .wrap {
    width: 74rem;
    margin: 0 0 14rem 0;
}
.store-page .store-access .wrap .line-ttl {
    margin: 8rem 0 6rem;
}
.store-page .store-access .wrap .ttl-wrap .txt {
    text-align: justify;
}
.store-page .store-access .map-wrap {
    width: 72rem;
    margin: 0 auto 18rem;
}
.store-page .store-access .map-wrap .txt-wrap {
    padding: 6rem 5rem 12rem;
}
.store-page .store-access .map-wrap .txt-wrap .store-name {
    font-size: 3.6rem;
    margin-bottom: 5rem;
}
.store-page .store-access .map-wrap .txt-wrap .store-name span {
    font-size: 2.4rem;
    display: block;
    margin-bottom: 2rem;
}
.store-page .store-access .map-wrap .txt-wrap .list {
    display: grid;
    grid-template-columns: 16rem 1fr;
    padding: 4rem 0;
    border-top: 1px solid #D6D6D6;
}
.store-page .store-access .map-wrap .txt-wrap .list:last-child {
    border-bottom: 1px solid #D6D6D6;
}
.store-page .store-access .map-wrap .txt-wrap .list dt {
    font-weight: 600;
}
.store-page .store-access .map-wrap .txt-wrap .list .txt + .txt {
    margin-top: 0;
}
.store-page .store-access .map-wrap iframe {
    width: 100%;
    height: 72rem;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    vertical-align: bottom;
}
@media only screen and (max-width: 899px) {
    .store-page .store-access .wrap .ttl-wrap {
        padding-left: 4rem;
    }
}
@media only screen and (min-width: 900px) {
    .store-page .store-access .wrap {
        width: 171rem;
        margin: 0 0 16.5rem 0;
        display: grid;
        grid-template-columns: 106.3rem 1fr;
        column-gap: 18rem;
    }
    .store-page .store-access .wrap .line-ttl {
        margin: 0 0 12rem;
    }
    .store-page .store-access .wrap .ttl-wrap .txt {
        font-size: max(1.6rem, 16px);
    }
    .store-page .store-access .map-wrap {
        width: 140rem;
        margin: 0 auto 17.5rem;
    }
    .store-page .store-access .map-wrap .bg-sec {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .store-page .store-access .map-wrap .bg-sec .img img {
        height: 100%;
        object-fit: cover;
    }
    .store-page .store-access .map-wrap .txt-wrap {
        padding: 8.5rem 10rem;
    }
    .store-page .store-access .map-wrap .txt-wrap .store-name {
        font-size: max(2rem, 20px);
        line-height: 1.7;
        margin-bottom: 7rem;
    }
    .store-page .store-access .map-wrap .txt-wrap .store-name span {
        font-size: max(1.6rem ,16px);
        margin-bottom: 2rem;
    }
    .store-page .store-access .map-wrap .txt-wrap .list {
        padding: 2rem 0;
    }
    .store-page .store-access .map-wrap iframe {
        height: 46rem;
    }
}

.store-page .access-nav {
    margin-bottom: 16rem;
}
.store-page .access-menu {
    display: grid;
    row-gap: 1rem;
}
.store-page .access-menu li a {
    display: grid;
    background-color: #F5F5F5;
    text-align: center;
    font-size: 2.8rem;
    height: 16rem;
    place-content: center;
    position: relative;
}
.store-page .access-menu li a:before {
    content: "";
    width: 8rem;
    height: 8rem;
    background-size: contain;
    background-position: 0;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 7.4rem;
}
.store-page .access-menu li:first-child a:before {
    background-image: url(../img/common/icon-train.svg);
}
.store-page .access-menu li:last-child a:before {
    background-image: url(../img/common/icon-car.svg);
}
.store-page .access-menu li a:after {
    content: "";
    width: 2rem;
    height: 2rem;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 6rem;
}
@media only screen and (min-width: 900px) {
    .store-page .access-menu {
        grid-template-columns: 1fr 1fr;
        column-gap: 1rem;
    }
    .store-page .access-menu li a {
        place-content: initial;
        font-size: max(1.8rem, 18px);
        height: max(20.8rem, 208px);
        padding-top: max(12rem, 120px);
    }
    .store-page .access-menu li a:before {
        width: max(6rem, 60px);
        height: max(6rem, 60px);
        top: max(4rem, 40px);
        left: 50%;
        transform: translateX(-50%);
    }
    .store-page .access-menu li a:after {
        top: max(16rem, 160px);
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
        width: max(1.4rem, 14px);
        height: max(1.4rem, 14px);
    }
}

.store-page .access-info {
    margin-bottom: 22rem;
}
.store-page .access-info .access-sec + .access-sec {
    margin-top: 16rem;
} 
.store-page .access-info .access-sec > .txt {
    width: 68rem;
    margin: 0 auto 7rem;
}
.store-page .access-info .access-sec .wrap {
    width: 72rem;
    margin: auto;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, .16);
    padding: 8rem 4rem;
}
.store-page .access-info .access-sec .wrap .list > dt {
    font-size: 3.2rem;
    font-weight: 600;
    border-bottom: 1px solid #333333;
    padding-bottom: 2rem;
    margin-bottom: 3rem;
}
.store-page .access-info .access-sec .wrap .list strong {
    color: #A54F23;
}
@media only screen and (max-width: 899px) {
    .store-page .access-info .access-sec .wrap .sublist {
        margin-top: 4rem;
    }
    .store-page .access-info .access-sec .wrap .sublist,
    .store-page .access-info .access-sec .wrap .sublist02 {
        padding-left: 4.8rem;
    }
    .store-page .access-info .access-sec .wrap .sublist dt,
    .store-page .access-info .access-sec .wrap .sublist02 li {
        position: relative;
    }
    .store-page .access-info .access-sec .wrap .sublist dt:before,
    .store-page .access-info .access-sec .wrap .sublist02 li:before {
        content: "";
        width: 1.2rem;
        height: 1.2rem;
        background-color: #D6D6D6;
        border-radius: 50%;
        position: absolute;
        left: -4rem;
    }
    .store-page .access-info .access-sec .wrap .sublist dt:before {
        top: 50%;
        transform: translateY(-50%);
    }
    .store-page .access-info .access-sec .wrap .sublist dd .txt {
        font-weight: 600;
    }
    .store-page .access-info .access-sec .wrap .sublist02 li:before {
        top: 2.4rem;
    }
}
@media only screen and (min-width: 900px) {
    .store-page .access-info .access-sec > .txt {
        width: 101rem;
    }
    .store-page .access-info .access-sec .wrap {
        width: 120rem;
        min-width: 860px;
        padding: 8rem 10rem;
    }
    .store-page .access-info .access-sec .wrap .list > dt {
        font-size: max(1.8rem, 18px);
    }
    .store-page .access-info .access-sec .wrap .sublist {
        display: flex;
    }
    .store-page .access-info .access-sec .wrap .sublist dt {
        width: max(48rem, 480px);
    }
    .store-page .access-info .access-sec .wrap .sublist dt .txt {
        display: block;
        width: max-content;
        background-color: #fff;
        position: relative;
        padding-right: 1rem;
    }
    .store-page .access-info .access-sec .wrap .sublist dt .txt:after {
        content: "";
        width: max(470px, 47rem);
        height: 1px;
        border-bottom: 1px dashed #1E1F1A;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        z-index: -1;
    }
    .store-page .access-info .access-sec .wrap .sublist dd {
        width: calc(100% - max(480px, 48rem));
    }
    .store-page .access-info .access-sec#train .wrap .list > dd > .txt {
        margin-bottom: 2rem;
    }
    .store-page .access-info .access-sec .wrap .sublist02 {
        padding-left: 1.4em;
    }
    .store-page .access-info .access-sec .wrap .sublist02 li {
        list-style: disc;
    }
}


/* contact */
.page-contact .contact-top {
    width: 72rem;
    margin: 0 auto 20rem;
}
.page-contact .ttl {
    padding-bottom: 3rem;
    text-align: center;
}
.page-contact .contact-txt {
    font-size: 2.8rem;
    line-height: 2;
    letter-spacing: .1em;
    margin-bottom: 8rem;
    text-align: center;
}
.page-contact .contact-top .num-wrap {
    background-color: #F5F5F5;
    padding: 10rem 0;
}
.page-contact .contact-top .num-wrap li {
    width: 60rem;
    margin: auto;
    text-align: center;
}
.page-contact .contact-top .num-wrap li .name {
    font-size: 2.2rem;
    margin-bottom: 4rem;
}
.page-contact .contact-top .num-wrap li .name strong {
    font-size: 3.6rem;
    font-weight: bold;
    display: block;
    margin-top: 2rem;
}
.page-contact .contact-top .phone {
    border: 1px solid #333333;
    border-radius: 6rem;
    display: block;
    padding: 2rem 0;
    margin-bottom: 3rem;
}
.page-contact .contact-top .phone-number {
    font-family: "schoolbook", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 4.8rem;
}
.page-contact .contact-top .phone-number:before {
    content: "";
    width: 5rem;
    height: 3.6rem;
    background: url(../img/common/icon-tel.svg) 0 / contain no-repeat;
    display: inline-block;
    margin-right: 2rem;
}
.page-contact .contact-top .phone-info {
    display: block;
    font-size: 2.4rem;
    font-family: initial;
}
@media only screen and (min-width: 900px) {
    .page-contact .page-ttl-wrap {
        padding-bottom: 11rem;
    }
    .page-contact .page-ttl-wrap .txt {
        font-size: max(1.6rem, 16px);
    }
    .page-contact .contact-top {
        width: 150rem;
        margin: 10rem auto 0;
    }
    .page-contact .ttl {
        font-size: max(3rem, 30px);
        padding-bottom: 0;
        margin-bottom: max(3rem, 30px);
    }
    .page-contact .ttl:before {
        margin-bottom: 0;
    }
    .page-contact .contact-txt {
        font-size: max(1.6rem,16px);
        margin-bottom: max(5rem, 50px);
        letter-spacing: 0;
    }
    .page-contact .contact-top .num-wrap li {
        width: 100%;
    }
    .page-contact .contact-top .phone {
        width: max(42rem, 420px);
        margin: 0 auto 2rem;
    }
    .page-contact .contact-top .phone-number {
        font-size: max(3rem, 30px);
    }
    .page-contact .contact-top .phone-number:before {
        width: max(2.7rem, 27px);
        height: max(2rem, 20px);
        margin-right: max(2rem, 20px);
    }
    .page-contact .contact-top .phone-info {
        font-size: max(1.2rem, 12px);
    }
}
.page-contact .contact-form {
    width: 72rem;
    margin: 0 auto 24rem;
}
.page-contact .wpcf7-form {
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, .16);
    padding: 10rem 4rem;
}
.contact-form label {
    display: block;
    margin-bottom: 8rem;
}
.contact-form .valid {
    font-size: 2.4rem;
    text-align: center;
    padding: .8rem 2.6rem;
    margin-right: 2rem;
}
.contact-form .valid.required {
    background-color: #2B2B30;
    color: #fff;
}
.contact-form .valid.option {
    border: 1px solid #262626;
    color: #262626;
}
.contact-form .form-label {
    display: inline;
    font-size: 3.2rem;
}
.contact-form label input:not([type="checkbox"]), .contact-form label select, .contact-form label textarea {
    width: 100%;
    background-color: #F2F2F2;
    padding: 4rem 5rem;
    font-size: 2.8rem;
    border: none;
    margin-top: 3rem;
}
.contact-form ::placeholder {
    color: #A6A6A6;
    font-size: 2.8rem;
}
.contact-form .select-box {
    width: 100%;
    position: relative;
}
.contact-form .select-box::before {
    content: "";
    width: 3rem;
    height: 3rem;
    background: url(../img/common/arrow-down.svg) 0 / contain no-repeat;
    position: absolute;
    top: 70%;
    right: 3rem;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 2;
}
.contact-form .select-box select {
    height: 12rem;
    -webkit-appearance: none;
    appearance: none;
}
.contact-form .select-box select.is-empty {
    color: #A6A6A6;
}
.contact-form .check-wrap {
    font-size: 3.2rem;
    margin: 10rem auto 12rem;
    background-color: #F5F5F5;
    padding: 4rem;
}
.contact-form .check-wrap .wpcf7-list-item {
    margin: 0;
}
.contact-form .check-wrap label {
    display: flex;
    align-items: flex-start;
    column-gap: 2rem;
    margin-bottom: 0;
}
.contact-form .check-wrap label input {
    width: 4rem;
    height: 4rem;
    border: 1px solid #1E1F1A;
}
.contact-form .check-wrap label .wpcf7-list-item-label {
    width: calc(100% - 7.6rem);
}
.contact-btn {
    position: relative;
}
.contact-btn input {
    appearance: none;
    display: grid;
    background-color: #fff;
    border: 1px solid #333333;
    border-radius: 5rem;
    width: 60rem;
    height: 10rem;
    align-items: center;
    text-align: left;
    padding: 0 8rem 0 5rem;
    font-size: 2.8rem;
    margin: auto;
}
.contact-btn:after {
    content: "";
    background: url(../img/common/arrow-right.svg) 0 / contain no-repeat;
    width: 5rem;
    height: 5rem;
    top: 2.5rem;
    right: 6rem;
    position: absolute;
}
.wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output {
    font-size: 2.4rem!important;
}
.contact-form .grecaptcha {
    font-size: 2rem;
}
@media only screen and (min-width: 900px) {
    .page-contact .contact-form {
        width: 120rem;
        margin: 0 auto 22rem;
        padding: max(9rem, 90px) 0;
    }
    .page-contact .wpcf7-form {
        width: 100%;
        min-width: 500px;
        padding: 10rem 17rem;
    }
    .contact-form label {
        margin-bottom: max(5rem, 50px);
    }
    .contact-form .valid {
        font-size: max(1.2rem, 12px);
        padding: max(0.7rem, 7px) max(1.3rem, 13px);
        margin-right: max(1.5rem, 15px);
        vertical-align: text-bottom;
    }
    .contact-form .form-label {
        font-size: max(1.6rem, 16px);
    }
    .contact-form ::placeholder {
        font-size: max(1.4rem, 14px);
    }
    .contact-form label input:not([type="checkbox"]),
    .contact-form label select,
    .contact-form label textarea {
        font-size: max(1.4rem, 14px);
        padding: max(2rem, 20px);
        margin-top: max(1.5rem, 15px);
    }
    .contact-form .select-box select {
        height: max(6rem, 60px);
    }
    .contact-form .select-box::before {
        top: max(7rem, 70px);
        right: max(2rem, 20px);
        width: max(1.7rem, 17px);
        height: max(1.7rem, 17px);
    }
    .contact-form .select-box::after {
        width: max(6rem, 60px);
        height: max(6rem, 60px);
        top: max(3.9rem, 39px);
    }
    .contact-form .check-wrap {
        font-size: max(1.4rem, 14px);
        width: 100%;
        padding: max(2rem, 20px) 0;
        margin: max(7rem, 70px) auto;
        text-align: center;
    }
    .contact-form .check-wrap label {
        column-gap: 1rem;
    }
    .contact-form .check-wrap label input {
        width: max(2rem, 20px);
        height: max(2rem, 20px);
        margin: 0;
    }
    .contact-form .check-wrap label .wpcf7-list-item-label {
        width: 100%;
        letter-spacing: .05em;
    }
    .contact-btn {
        width: max(45rem, 450px);
        margin: auto;
        cursor: pointer;
    }
    .contact-btn:after {
        width: max(2.5rem, 25px);
        height: max(2.5rem, 25px);
        right: max(2rem, 20px);
        top: max(2.4rem, 24px);
    }
    .contact-btn:hover:after {
        background-image: url(../img/common/arrow-w-right.svg);
    }
    .contact-btn:hover input {
        background-color: #000;
        color: #fff;
    }
    .contact-btn input {
        width: 100%;
        height: max(7rem, 70px);
        font-size: max(1.6rem, 16px);
        padding: 0 3.8rem;
        margin-left: 0;
        border-radius: max(3.5rem, 35px);
        text-align: center;
    }
    .wpcf7-not-valid-tip,
    .wpcf7 form .wpcf7-response-output {
        font-size: max(1.2rem, 12px) !important;
    }
    .contact-form .grecaptcha {
        font-size: max(1.3rem, 13px);
        text-align: center;
    }
}
.contact-confirm .answer {
    font-size: 2.8rem;
    margin: 3rem;
}
.contact-confirm .btn-wrap {
    display: flex;
    flex-direction: column;
    row-gap: 5rem;
    margin-top: 10rem;
}
.contact-confirm .btn-wrap .contact-btn:first-child input {
    background-color: #A2AEB5;
    border: none;
}
@media only screen and (min-width: 900px) {
    .contact-confirm label {
        display: flex;
        align-items: center;
        column-gap: 5rem;
    }
    .contact-confirm .form-label {
        width: max(20rem, 200px);
    }
    .contact-confirm .answer {
        font-size: max(1.4rem, 14px);
        margin: 0;
    }
    .contact-confirm .btn-wrap {
        flex-direction: row;
        column-gap: 5rem;
        margin-top: max(10rem, 100px);
        align-items: flex-start;
    }
    .contact-confirm .btn-wrap .contact-btn {
        margin: 0;
    }
}

/* faq */
.page-faq .inner {
    width: 70rem;
    margin: 0 auto 15rem;
}
.page-faq .faq-txt {
    font-size: 2.8rem;
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
    margin-bottom: 8rem;
}
.page-faq .faq-wrap {
    display: grid;
    border: 1px solid #333333;
}
.page-faq .faq-item {
    padding: 6rem 5rem 7rem;
}
.page-faq .faq-item:not(:last-child) {
    border-bottom: 1px solid #D6D6D6;
}
.page-faq .faq-ttl {
    font-size: 3.2rem;
    line-height: 1.75;
    padding: 0 0 4rem 6rem;
    position: relative;
}
.page-faq .faq-ttl:before {
    content: "Q";
    font-family: bigmoore, serif;
    font-size: 4.4rem;
    position: absolute;
    top: 1rem;
    left: 0;
    line-height: 5.2rem;
    color: #918E85;
}
.page-faq .faq-item .txt {
    letter-spacing: .05em;
}
.page-faq .faq-item .txt a {
    text-decoration: underline;
}
@media only screen and (min-width: 900px) {
    .page-faq .inner {
        width: 120rem;
        min-width: 700px;
        margin: 0 auto max(20rem, 200px);
    }
    .page-faq .faq-txt {
        font-size: max(1.8rem, 18px);
        margin-bottom: max(5rem, 50px);
    }
    .page-faq .faq-wrap {
        row-gap: max(3rem, 30px);
    }
    .page-faq .faq-item {
        padding: max(4.5rem, 45px) 15rem max(6rem, 60px);
    }
    .page-faq .faq-ttl {
        font-size: max(1.8rem,18px);
        padding: 0 0 max(3.5rem, 35px) max(4rem, 40px);
    }
    .page-faq .faq-ttl:before {
        font-size: max(3.5rem, 35px);
        top: 0;
        left: -1.5rem;
        line-height: 1;
    }
    .page-faq .faq-item .txt {
        font-size: max(1.4rem, 14px);
    }
}

/* news */
.page-news .news-list {
    width: 70rem;
    margin: 0 auto 2rem;
}
.page-news .news-item {
    padding-bottom: 5rem;
}
.page-news .news-item:not(:first-child) {
    padding-top: 8rem;
    border-top: 1px solid #D6D6D6;
}
.page-news .news-date {
    font-size: 2.8rem;
    line-height: 2;
    text-align: center;
    margin-bottom: 4rem;
}
.page-news .news-cat {
    font-size: 2.4rem;
    color: #fff;
    text-align: center;
    background-color: #333333;
    display: grid;
    min-width: 50rem;
    height: 6rem;
    place-content: center;
    margin-bottom: 3rem;
}
.page-news .news-ttl {
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.7;
    margin-bottom: 6rem;
}
.page-news .news-wrap .m-ttl {
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 2;
    margin-bottom: 4rem;
}
.page-news .news-wrap .s-ttl {
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 2;
    color: #918E85;
    margin-bottom: 4rem;
}
.page-news .news-wrap > p {
    font-size: 2.8rem;
    line-height: 2;
}
.page-news .news-wrap > p + .m-ttl,
.page-news .news-wrap > p + .s-ttl,
.page-news .news-wrap > p + p {
    margin-top: 4rem;
}
.page-news .news-wrap img {
    display: block;
    margin: 5rem 0;
}
@media only screen and (min-width: 900px) {
    .page-news .news-list {
        width: 120rem;
        min-width: 700px;
        margin: 0 auto max(5rem, 50px);
    }
    .page-news .news-item {
        display: grid;
        grid-template-columns: max-content 1fr;
        column-gap: 10rem;
        padding: 0 10rem max(7rem, 70px);
    }
    .page-news .news-item:not(:first-child) {
        padding-top: max(7.5rem, 75px)
    }
    .page-news .news-date {
        font-size: max(1.6rem, 16px);
    }
    .page-news .news-cat {
        font-size: max(1.2rem, 12px);
        height: max(3rem, 30px);
        width: max-content;
        min-width: max(25rem, 250px);
        margin-bottom: max(1.5rem, 15px);
    }
    .page-news .news-ttl {
        font-size: max(2.2rem, 22px);
        margin-bottom: max(3rem, 30px);
    }
    .page-news .news-wrap .m-ttl {
        font-size: max(1.6rem, 16px);
        margin-bottom: max(1.5rem, 15px);
    }
    .page-news .news-wrap .s-ttl {
        font-size: max(1.4rem, 14px);
        margin-bottom: max(1.5rem, 15px);
    }
    .page-news .news-wrap > p {
        font-size: max(1.4rem, 14px);
    }
    .page-news .news-wrap > p + .m-ttl,
    .page-news .news-wrap > p + .s-ttl,
    .page-news .news-wrap > p + p {
        margin-top: max(4rem, 40px);
    }
    .page-news .news-wrap img {
        margin: max(4rem, 40px) 0;
    }
}
.nav-links {
    width: 70rem;
    display: flex;
    justify-content: center;
    margin: 0 auto 13rem;
    column-gap: 2em;
    position: relative;
}
.nav-links a, .nav-links span {
    font-size: 2.8rem;
    padding: 0 .5rem;
}
.nav-links .current {
    border-bottom: 1px solid #1E1F1A;
    padding-bottom: 1rem;
}
.nav-links .next {
    right: 0;
    padding-right: 3rem;
}
.nav-links .prev {
    left: 0;
    padding-left: 3rem;
}
.nav-links .next, .nav-links .prev {
    position: absolute;
    font-weight: 400;
}
.nav-links .next:after, .nav-links .prev:after {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    color: #000;
    border-top: solid 1px;
    border-right: solid 1px;
    position: absolute;
    top: 50%;
}
.nav-links .next:after {
    right: 0;
    transform: translateY(-50%) rotate(45deg) ;
}
.nav-links .prev:after {
    left: 0;
    transform: translateY(-50%) rotate(-135deg) ;
}
@media only screen and (min-width: 900px) {
    .nav-links {
        width: 100rem;
        min-width: 500px;
        column-gap: 3em;
        margin: 0 auto max(13rem, 130px);
    }
    .nav-links a, .nav-links span {
        font-size: max(2rem, 20px);
        padding: 0 .5rem;
    }
    .nav-links .next, .nav-links .prev {
        font-size: max(1.6rem, 16px);
    }
}

/* privacy policy */
.page-policy .page-ttl {
    line-height: .8;
    margin-top: 2rem;
}
.page-policy .inner {
    width: 89.7%;
    margin: 14rem auto 20rem;
}
.page-policy .list {
    display: grid;
    row-gap: 8rem;
}
.page-policy .list li:not(:last-child) {
    border-bottom: 1px solid #D6D6D6;
    padding-bottom: 8rem;
}
.page-policy .list-ttl {
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 3rem;
}
.page-policy .list-txt {
    font-size: 2.8rem;
    line-height: 2;
}
@media only screen and (min-width: 900px) {
    .page-policy .page-ttl-wrap {
        white-space: nowrap;
    }
    .page-policy .inner {
        width: 120rem;
    }
    .page-policy .list {
        row-gap: 6.5rem;

    }
    .page-policy .list li {
        padding: 0 15rem;
    }
    .page-policy .list li:not(:last-child) {
        padding-bottom: 6.5rem;
    }
    .page-policy .list-ttl {
        font-size: max(1.8rem, 18px);
        margin-bottom: 2rem;
    }
    .page-policy .list-txt {
        font-size: max(1.6rem, 16px);
    }
}

/* sitemap */
.sitemap .main .inner {
    width: 72rem;
    margin: 0 auto 22rem;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, .16);
    padding: 12rem 8rem;
    display: grid;
    row-gap: 10rem;
}
.sitemap .list-ttl {
    font-size: 4rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #333;
    margin-bottom: 4.5rem;
}
.sitemap .list li a {
    font-size: 3.2rem;
    line-height: 3.1;
}
.sitemap li.sublist a:before,
.sitemap .sublist li a:before {
    content: "";
    width: 2.4rem;
    height: 1px;
    background-color: #D6D6D6;
    display: inline-block;
    vertical-align: middle;
    margin-right: 2.4rem;
}
@media only screen and (min-width: 900px) {
    .sitemap .main .inner {
        width: 140rem;
        min-width: 800px;
        margin: 0 auto 18rem;
        padding: 10rem 18rem;
        grid-template-columns: 62.5% 31.2%;
        column-gap: 8rem;
    }
    .sitemap .list-wrap:first-child .list {
        display: grid;
        grid-template-rows: repeat(8, auto);
        grid-auto-flow: column;
    }
    .sitemap .list-wrap:first-child .list li {
        min-width: 40%;
    }
    .sitemap .list-wrap:first-child .list li:nth-child(2) {
        grid-area: 2 / 1 / 9 / 1;
    }
    .sitemap .list-wrap:last-child .list {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        height: 30rem;
    }
    .sitemap .list-wrap:last-child .list li {
        min-width: 40%;
    }
    .sitemap .list-ttl {
        font-size: max(1.8rem, 18px);
    }
    .sitemap .list li a {
        font-size: max(1.6rem, 16px);
        line-height: 3;
        letter-spacing: 0;
    }
}

/* page-nav */
#page-nav .page-menu {
    width: 68rem;
    margin: 0 auto 3.8rem;
    display: grid;
    grid-template-columns: repeat(2,1fr);
}
#page-nav .page-menu .item {
    display: block;
    position: relative;
    padding: 3.6rem 2rem;
    color: #fff;
    font-size: 2.4rem;
    min-height: 20rem;
    background-position: 0;
    background-size: contain;
    background-repeat: no-repeat;
}
#page-nav .page-menu .item:before {
    content: "";
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
#page-nav .page-menu .nav-about .item:before {
    background-image: url(../img/common/bg-about_sp.webp);
}
#page-nav .page-menu .nav-wallet .item:before {
    background-image: url(../img/common/bg-wallet_sp.webp);
}
#page-nav .page-menu .nav-bag .item:before {
    background-image: url(../img/common/bg-bag_sp.webp);
}
#page-nav .page-menu .nav-accessory .item:before {
    background-image: url(../img/common/bg-ac_sp.webp);
}
#page-nav .page-menu .nav-store .item:before {
    background-image: url(../img/common/bg-store_sp.webp);
}
#page-nav .page-menu .nav-brand .item:before {
    background-image: url(../img/common/bg-brand_sp.webp);
}
#page-nav .page-menu .nav-present .item:before {
    background-image: url(../img/common/bg-present_sp.webp);
}
#page-nav .page-menu .nav-ec .item:before {
    background-image: url(../img/common/bg-ec_sp.webp);
}
#page-nav .page-menu .item:after {
    content: "";
    width: 3.2rem;
    height: 3.2rem;
    background: url(../img/common/btn-arrow-w.svg) 0 / contain no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2rem;
}
#page-nav .page-menu .item span {
    display: block;
    font-size: 3.2rem;
    letter-spacing: .1em;
}
@media only screen and (min-width: 900px) {
    #page-nav .page-menu {
        width: 180rem;
        margin: 0 auto 2.5rem;
        grid-template-columns: repeat(4,1fr);
        column-gap: .3rem;
        row-gap: .3rem;
    }
    #page-nav .page-menu .item {
        font-size: max(1.2rem, 12px);
        min-height: 22rem;
        padding: 3rem 0 0 3rem;
        overflow: hidden;
    }
    #page-nav .page-menu .item:before {
        transform: scale(1);
        transition: .3s;
    }
    #page-nav .page-menu .nav-about .item:before {
        background-image: url(../img/common/bg-about.webp);
    }
    #page-nav .page-menu .nav-wallet .item:before {
        background-image: url(../img/common/bg-wallet.webp);
    }
    #page-nav .page-menu .nav-bag .item:before {
        background-image: url(../img/common/bg-bag.webp);
    }
    #page-nav .page-menu .nav-accessory .item:before {
        background-image: url(../img/common/bg-ac.webp);
    }
    #page-nav .page-menu .nav-store .item:before {
        background-image: url(../img/common/bg-store.webp);
    }
    #page-nav .page-menu .nav-brand .item:before {
        background-image: url(../img/common/bg-brand.webp);
    }
    #page-nav .page-menu .nav-present .item:before {
        background-image: url(../img/common/bg-present.webp);
    }
    #page-nav .page-menu .nav-ec .item:before {
        background-image: url(../img/common/bg-ec.webp);
    }
    #page-nav .page-menu .item:after {
        width: 2.2rem;
        height: 2.2rem;
        background: url(../img/common/btn-arrow-w.svg) 0 / contain no-repeat;
        right: 3.6rem;
    }
    #page-nav .page-menu .item:hover:before {
        transform: scale(1.2);
    }
    #page-nav .page-menu .item span {
        font-size: max(2.8rem, 28px);
    }
}

/* breadcrumb */
.breadcrumb {
    width: 87%;
    margin: 0 auto 4.6rem;
    display: flex;
    flex-wrap: wrap;
}
.breadcrumb li {
    position: relative;
    padding-right: 2rem;
}
.breadcrumb li:not(:first-of-type) {
    padding-left: 4rem;
}
.breadcrumb li:not(:first-of-type):before {
    content: "";
    width: 2rem;
    height: 1px;
    background-color: #272925;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    margin-right: 1rem;
}
.breadcrumb li:first-child a {
    color: #999;
}
.breadcrumb li a {
    font-size: 2.4rem;
    line-height: 4.8rem;
    letter-spacing: 0;
}
.breadcrumb li a .txt-g {
    color: #918E85;
}

@media only screen and (min-width: 900px) {
    .breadcrumb {
        width: 150rem;
        margin: 0 auto 2.5rem;
    }
    .breadcrumb li {
        padding-right: 1.5rem;
    }
    .breadcrumb li:not(:first-of-type) {
        padding-left: 3rem;
    }
    .breadcrumb li:not(:first-of-type):before {
        width: 1.5rem;
    }
    .breadcrumb li a {
        font-size: max(1.2rem, 12px);
        line-height: 2.8rem;
    }

}
