@-webkit-keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3)
    }

    50% {
        opacity: 1
    }
}

@-moz-keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3)
    }

    50% {
        opacity: 1
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3)
    }

    50% {
        opacity: 1
    }
}

@-webkit-keyframes zoomOut {
    from {
        opacity: 1
    }

    65% {
        opacity: 0;
        -webkit-transform: scale3d(0.6, 0.6, 0.6)
    }

    to {
        opacity: 0
    }
}

@-moz-keyframes zoomOut {
    from {
        opacity: 1
    }

    65% {
        opacity: 0;
        transform: scale3d(0.6, 0.6, 0.6)
    }

    to {
        opacity: 0
    }
}

@keyframes zoomOut {
    from {
        opacity: 1
    }

    65% {
        opacity: 0;
        transform: scale3d(0.6, 0.6, 0.6)
    }

    to {
        opacity: 0
    }
}

@-webkit-keyframes fadeIn {
    0% {
        display: none;
        opacity: 0
    }

    1% {
        display: block;
        opacity: 0
    }

    100% {
        display: block;
        opacity: 1
    }
}

@-moz-keyframes fadeIn {
    0% {
        display: none;
        opacity: 0
    }

    1% {
        display: block;
        opacity: 0
    }

    100% {
        display: block;
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        display: none;
        opacity: 0
    }

    1% {
        display: block;
        opacity: 0
    }

    100% {
        display: block;
        opacity: 1
    }
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0)
    }
}

@-moz-keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(40px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(40px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes right-to-center {
    0% {
        opacity: 0;
        transform: translateX(30px)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes left-to-center {
    0% {
        opacity: 0;
        transform: translateX(-30px)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes center-to-left {
    0% {
        opacity: 1;
        transform: translateX(0)
    }

    100% {
        opacity: 0;
        transform: translateX(-30px)
    }
}

@keyframes center-to-right {
    0% {
        opacity: 1;
        transform: translateX(0)
    }

    100% {
        opacity: 0;
        transform: translateX(30px)
    }
}

@keyframes bounce {
    0% {
        transform: scale(1)
    }

    30% {
        transform: scale(1.4)
    }

    60% {
        transform: scale(1.2)
    }

    100% {
        transform: scale(1.3)
    }
}

.billboard {
    width: 100%;
    height: auto
}

.billboard img {
    width: 100%;
    height: auto
}

.__image {
    width: 100%;
    height: auto
}

.lazyload {
    opacity: 0;
    transition: opacity 1s
}

.lazyload.loaded {
    opacity: 1
}

.__wb {
    white-space: normal
}

.__wb span {
    display: inline-block;
    white-space: nowrap
}

.section--blockquote {
    position: relative;
    height: 600px;
    background-color: #fbfbfb
}

.section--blockquote .viewport {
    position: static
}

.section--blockquote .blockquotes {
    padding-top: 6rem;
    opacity: 0;
    transition: opacity 2s
}

.section--blockquote .blockquotes.slick-initialized {
    opacity: 1
}

.section--blockquote .blockquotes.slick-slider {
    position: static
}

.section--blockquote .blockquotes .slick-prev {
    margin: 0
}

.section--blockquote .blockquotes .slick-prev:before {
    content: ""
}

.section--blockquote .blockquotes .slick-next {
    margin: 0
}

.section--blockquote .blockquotes .slick-next:before {
    content: ""
}

.section--blockquote .blockquotes .slick-dots {
    position: static
}

.section--blockquote .__article {
    position: relative;
    min-height: 400px;
    padding: 4rem 0 30px;
    display: flex;
    align-items: center
}

.section--blockquote .__article+.__article::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 200px;
    height: 1px;
    margin: 0 auto;
    background: #999;
    display: block;
    content: ""
}

.section--blockquote .blockquote {
    position: relative;
    width: 100%;
    padding: 4rem 6rem;
    font-size: .8rem;
    text-align: right;
    line-height: 1.4;
    opacity: 1;
    transition-property: opacity;
    transition-delay: .3s;
    transition-duration: .5s
}

.section--blockquote .blockquote:before,
.section--blockquote .blockquote:after {
    position: absolute;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 3rem;
    color: #ccc
}

.section--blockquote .blockquote:before {
    top: 0;
    left: 2rem;
    content: ""
}

.section--blockquote .blockquote:after {
    right: 2rem;
    content: ""
}

.section--blockquote .blockquote blockquote {
    margin-bottom: .5rem;
    font-size: 2rem;
    text-align: center
}

.section--blockquote .blockquote .__media,
.section--blockquote .blockquote .__link {
    color: #ccc;
    outline: none;
    word-break: break-all
}

.btn--pagemap {
    width: 90px;
    height: 32px;
    margin-right: 0;
    background-color: #4ba53a;
    color: #fff;
    line-height: 32px;
    border-radius: 16px
}

.btn--pagemap:hover {
    background-color: #2b9417
}

.btn--dealer {
    width: 90px;
    height: 32px;
    margin-left: 10px;
    color: #4ba53a;
    line-height: 31px;
    border: solid 1px #4ba53a;
    border-radius: 16px
}

.btn--dealer:hover {
    opacity: .8
}

.pagemap--desktop {
    width: 100%;
    height: 90px
}

.pagemap--desktop .pagemap__content {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    width: 90%;
    max-width: 1032px;
    margin: 0 auto;
    text-align: center;
    font-size: .8rem
}

.pagemap--desktop .pagemap__main {
    height: 90px;
    overflow: hidden;
    display: flex;
    list-style: none;
    padding-left: .6rem
}

.pagemap--desktop .pagemap__content__item {
    flex: none
}

.pagemap--desktop .pagemap__content__item>a {
    color: #333;
    text-decoration: none
}

.pagemap--desktop .pagemap__content__item>a:before {
    display: inline-block;
    position: relative;
    height: 100%;
    margin-right: 1.4rem
}

.pagemap--desktop .pagemap__content__item.__current>a {
    color: #4ba53a
}

.pagemap--desktop .pagemap__dropdown {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 70px;
    text-align: center;
    cursor: pointer
}

.pagemap--desktop .pagemap__dropdown.hidden {
    display: none
}

.pagemap--desktop .pagemap__dropdown__btn {
    position: relative;
    display: block;
    height: 70px;
    text-align: center
}

.pagemap--desktop .pagemap__dropdown__btn:before {
    display: block;
    position: absolute;
    top: 67%;
    right: 70%;
    width: 100%;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    text-align: center;
    font-size: 1.4rem;
    color: #666
}

.pagemap--desktop .pagemap__dropdown__content {
    z-index: 880;
    display: none;
    position: absolute;
    top: 85px;
    left: -98px;
    width: 180px;
    background-color: #fff;
    box-shadow: 0 19px 38px rgba(0, 0, 0, .3), 0 15px 12px rgba(0, 0, 0, .22);
    border-radius: 4px;
    list-style: none;
    opacity: 0;
    animation-duration: .2s;
    animation-name: fadeIn
}

.pagemap--desktop .pagemap__dropdown__content:before {
    content: "";
    position: absolute;
    top: -18px;
    left: 50%;
    width: 0;
    height: 0;
    border: 10px solid rgba(0, 0, 0, 0);
    border-bottom: 10px solid #fff;
    z-index: 9997;
    margin-left: -10px
}

.pagemap--desktop .pagemap__dropdown:hover .pagemap__dropdown__content {
    opacity: 1;
    display: block
}

.pagemap--desktop .pagemap__dropdown:hover .pagemap__dropdown__content li {
    padding: 0 0 11px 0
}

.pagemap--desktop .pagemap__dropdown__content .pagemap__content__item {
    height: 3rem;
    line-height: 3rem
}

.pagemap--desktop .pagemap__dropdown__content .pagemap__content__item:hover a {
    color: #4ba53a
}

.pagemap--desktop .pagemap__btns {
    display: flex;
    align-items: flex-start;
    height: 90px;
    margin-left: 20px;
    padding-top: 25px
}

.pagemap--desktop.__header {
    position: absolute;
    top: 0;
    z-index: 888;
    background-color: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, .2)
}

.pagemap--desktop.__header .pagemap__main {
    width: 100%;
    align-items: flex-end
}

.pagemap--desktop.__header .pagemap__content__item {
    padding: 0 1.6rem 11px 0
}

.pagemap--desktop.__footer {
    height: 70px
}

.pagemap--desktop.__footer .pagemap__main {
    height: 70px
}

.pagemap--desktop.__footer .pagemap__content {
    height: 70px;
    max-width: 890px !important;
    width: 100%;
    align-items: center
}

.pagemap--desktop.__footer .pagemap__content__item {
    padding: 0 1rem
}

.main {
    padding-top: 90px
}

.sp {
    display: none
}

.pagemap--desktop.__header .pagemap__content--logo {
    width: 298px
}

.slick-dots li {
    width: 20px
}

.slick-dots li button {
    width: 20px
}

.slick-dots li button:before {
    font-size: 18px
}

.gallery {
    height: auto;
    padding: 0 2rem 100px
}

.gallery .__content {
    padding-bottom: 2.5rem
}

.gallery .gallery__content {
    display: grid;
    gap: 3.125rem;
    grid-template: "A A B C" "A A D E"
}

@media screen and (max-width: 768px) {
    .gallery .gallery__content {
        margin: -1.75%
    }
}

.gallery .gallery__content figcaption {
    display: none
}

.gallery .gallery__content figure[data-area=A] {
    grid-area: A
}

.gallery .gallery__content figure[data-area=B] {
    grid-area: B
}

.gallery .gallery__content figure[data-area=C] {
    grid-area: C
}

.gallery .gallery__content figure[data-area=D] {
    grid-area: D
}

.gallery .gallery__content figure[data-area=E] {
    grid-area: E
}

.gallery .gallery__content figure[data-disabled] {
    display: none
}

.gallery .gallery__content figure .__clip {
    width: 100%;
    height: auto
}

.gallery__h {
    font-size: 2.375rem;
    line-height: 1.2
}

.pswp__caption {
    left: 0;
    right: 0;
    max-width: 800px;
    margin: 0 auto;
    padding: 1rem 0;
    font-size: .8rem;
    text-align: center
}

.pswp__caption .pswp__caption__center {
    max-width: 800px;
    text-align: center
}

.pswp__caption .pswp__caption__center .__caption {
    padding: 0 1.5rem
}

.pswp__caption .pswp__caption__center .__caption:before {
    position: relative;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #ccc;
    top: -0.2rem;
    left: -0.5rem;
    content: ""
}

.pswp__caption .pswp__caption__center .__caption .__user {
    display: block;
    text-align: center;
    color: #666
}

.gallery_selector_wrapper {
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
    max-width: 680px;
    margin: 0 auto 35px
}

.gallery_selector_wrapper>:not(:last-child) {
    margin-right: 18px
}

.gallery_selector_wrapper .gallery_selector {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 146px;
    height: 50px;
    border: 2px solid #707070;
    border-radius: 25px;
    font-size: 14.4px;
    font-size: .8rem;
    padding: 5px;
    color: #646464;
    cursor: pointer;
    transition: all .3s;
    margin-bottom: 24px
}

.gallery_selector_wrapper .gallery_selector:hover {
    border-color: #666;
    color: #666
}

.gallery_selector_wrapper .gallery_selector.__current {
    background-color: #707070;
    border-color: #707070;
    color: #fff;
    cursor: default
}

.modal.modal--buynow {
    margin: 5%
}

.buynow {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.buynow .__step {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 5% 5% 0 5%;
    transition: visibility .5s;
    animation: center-to-right .5s 0s backwards
}

.buynow .__step.visible {
    visibility: visible;
    opacity: 1;
    transition: visibility .7s;
    animation: right-to-center .5s .2s backwards;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
}

.buynow .__step.move-left {
    animation: center-to-left .5s 0s backwards
}

.buynow .__step.visible.back {
    animation: left-to-center .5s .2s backwards
}

.buynow .__step .__title {
    margin-bottom: 54px;
    margin-bottom: 3rem;
    text-align: center;
    font-size: 45px;
    font-size: 2.5rem
}

.buynow .__step .__sku_wrapper {
    margin: 0 auto;
    text-align: center;
    font-size: 0
}

@media only screen and (max-width: 1096px) {
    .buynow .__step .__sku_wrapper {
        max-width: 500px
    }
}

.buynow .__step .__sku_wrapper .__sku {
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    max-width: 280px;
    min-height: 560px;
    margin: 0 9px 18px;
    margin: 0 .5rem 1rem;
    padding: 36px 27px;
    padding: 2rem 1.5rem;
    border: 2px solid #ededed;
    border-radius: 5px;
    font-size: 18px;
    font-size: 1rem;
    text-align: center;
    cursor: pointer;
    transition: all .3s
}

.buynow .__step .__sku_wrapper .__sku:not(.__out_of_stock):hover {
    border-color: #fff;
    z-index: 1;
    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19)
}

.buynow .__step .__sku_wrapper .__sku.selected {
    border-color: #4ba53a
}

.buynow .__step .__sku_wrapper .__sku span {
    display: block;
    line-height: 1.4
}

.buynow .__step .__sku_wrapper .__sku .__code {
    color: #999
}

.buynow .__step .__sku_wrapper .__sku .price {
    font-size: 36px;
    font-size: 2rem;
    padding: 23.4px 0 0 36px;
    padding: 1.3rem 0 0 2rem;
    border-top: 2px solid #ededed
}

.buynow .__step .__sku_wrapper .__sku .price:before {
    font-size: .6em
}

.buynow .__step .__sku_wrapper .__sku .price:after {
    font-size: .4em
}

.buynow .__step .__sku_wrapper .__sku .__oos_caption {
    margin-top: 9px;
    margin-top: .5rem;
    font-size: 14.4px;
    font-size: .8rem;
    text-align: left;
    line-height: 1.4;
    color: #999
}

.buynow .__step .__sku_wrapper .__sku .radio {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    height: 30px;
    width: 30px;
    margin: 18px auto;
    margin: 1rem auto
}

.buynow .__step .__sku_wrapper .__sku .radio::after,
.buynow .__step .__sku_wrapper .__sku .radio::before {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    height: 100%;
    width: 100%;
    transform: translateZ(0);
    backface-visibility: hidden
}

.buynow .__step .__sku_wrapper .__sku .radio::before {
    border: 2px solid #ddd;
    border-radius: 50%;
    background: #fff;
    transition: background-color .3s, transform .3s, border-color .3s
}

.buynow .__step .__sku_wrapper .__sku .radio::after {
    background: url(/_theme/img/svg/icon-check.svgz) no-repeat center center
}

.buynow .__step .__sku_wrapper .__sku.selected .radio::before {
    background: #4ba53a;
    border-color: #4ba53a;
    transform: scale(1.3);
    animation: bounce .5s
}

.buynow .__step .__sku_wrapper .__sku.selected .__deliv_date {
    color: #4ba53a
}

.buynow .__step .__sku_wrapper .__sku.__out_of_stock {
    cursor: default
}

.buynow .__step .__sku_wrapper .__sku.__out_of_stock:hover {
    border-color: #ededed
}

.buynow .__step .__sku_wrapper .__sku.__out_of_stock .price {
    color: #999
}

.buynow .__step .__sku_wrapper .__sku.__out_of_stock .__deliv_date {
    color: #fb4b60
}

.buynow .__step .__option {
    max-width: 872px;
    margin: 0 auto
}

.buynow .__step .__option span {
    display: block
}

.buynow .__step .__option .slick-dotted.slick-slider {
    margin-bottom: 108px;
    margin-bottom: 6rem
}

.buynow .__step .__option .slick-prev,
.buynow .__step .__option .slick-next {
    margin: 0
}

.buynow .__step .__option .__name {
    margin-bottom: 18px;
    margin-bottom: 1rem;
    font-size: 27px;
    font-size: 1.5rem;
    line-height: 1.2
}

.buynow .__step .__option .price {
    font-size: 36px;
    font-size: 2rem;
    line-height: 1
}

.buynow .__step .__option .price:before {
    font-size: .6em
}

.buynow .__step .__option .price:after {
    font-size: .4em
}

.buynow .__step .__option .__deliv_date {
    color: #999
}

.buynow .__step .__option .__column {
    float: left;
    width: 45%;
    margin-right: 5%
}

.buynow .__step .__option .radio_group {
    width: 100%;
    position: relative;
    cursor: pointer
}

.buynow .__step .__option .radio_group .__label {
    position: absolute;
    top: 0;
    left: 50px
}

.buynow .__step .__option .radio {
    box-sizing: border-box;
    position: relative;
    display: block;
    height: 30px;
    width: 30px;
    margin: 18px 0;
    margin: 1rem 0
}

.buynow .__step .__option .radio::after,
.buynow .__step .__option .radio::before {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    height: 100%;
    width: 100%;
    transform: translateZ(0);
    backface-visibility: hidden
}

.buynow .__step .__option .radio::before {
    border: 2px solid #ddd;
    border-radius: 50%;
    background: #fff;
    transition: background-color .3s, transform .3s, border-color .3s
}

.buynow .__step .__option .radio::after {
    background: url(/_theme/img/svg/icon-check.svgz) no-repeat center center
}

.buynow .__step .__option .radio.selected::before {
    background: #4ba53a;
    border-color: #4ba53a;
    transform: scale(1.3);
    animation: bounce .5s
}

.buynow .__step .__option .__description {
    padding-top: 36px;
    padding-top: 2rem
}

.buynow .__step .__option .__description p {
    margin-bottom: 18px;
    margin-bottom: 1rem
}

.buynow .__step .__option .__description .__basic {
    width: 100%;
    margin-bottom: 36px;
    margin-bottom: 2rem;
    border-collapse: collapse;
    border-spacing: 0;
    text-align: left;
    font-size: 16.2px;
    font-size: .9rem;
    line-height: 1.5
}

.buynow .__step .__option .__description .__basic th,
.buynow .__step .__option .__description .__basic td {
    padding: 9px 0;
    padding: .5rem 0;
    border-bottom: 1px solid #ebebeb;
    vertical-align: top
}

.buynow .__step .__option .__description .__basic th {
    width: 160px
}

.buynow .__step .__option .__description .note {
    margin-top: 18px;
    margin-top: 1rem
}

.buynow__footer {
    position: absolute;
    bottom: -90px;
    width: 100%;
    height: 90px;
    padding: 20px 0;
    background-color: #4ba53a;
    list-style: none;
    color: #fff;
    transition: all .3s;
    z-index: 600
}

.buynow__footer.visible {
    bottom: 0
}

.buynow__footer li {
    position: absolute;
    box-sizing: border-box;
    display: none;
    visibility: hidden;
    opacity: 0;
    height: 50px;
    border: 2px solid #fff;
    border-radius: 25px;
    line-height: 46px;
    cursor: pointer
}

.buynow__footer li.visible {
    display: inline;
    visibility: visible;
    opacity: 1
}

.buynow__footer li.visible:hover {
    background-color: #2b9417
}

.buynow__footer li.next {
    right: 7%;
    display: block;
    padding: 0 54px;
    padding: 0 3rem;
    text-align: center
}

.buynow__footer li.prev {
    left: 7%;
    width: 50px
}

.buynow__footer li.prev:before {
    padding-left: 11px;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    font-size: 20px
}

.overview {
    padding: 6.25rem 2rem 1.875rem;
    background-color: #fff
}

.overview .slick-slide {
    height: 100%;
    opacity: 1;
    transition: opacity .5s ease-in-out
}

.overview .slick-slide.slick-current {
    opacity: 1
}

.overview .slick-dots {
    padding: 0;
    line-height: 1;
    margin-top: -4.6875rem
}

.overview .slick-dots li {
    margin: 0 2px
}

.overview .slick-dots li button:before {
    font-size: .25rem;
    color: #999;
    opacity: 1
}

.overview .slick-dots li.slick-active button:before {
    font-size: .5rem;
    color: #000;
    opacity: 1
}

.overview .viewport {
    max-width: 980px;
    margin: 0 auto
}

.overview .buy-product {
    display: flex;
    gap: 4.375rem;
    align-items: center
}

.overview .buy-product__carousel {
    width: 54%;
    max-width: 460px;
    margin: 0 auto
}

.overview .buy-product__carousel .carousel-slider .carousel-item {
    position: relative
}

.overview .buy-product__carousel .carousel-slider .carousel-item img {
    width: 100%;
    max-width: 415px;
    margin: 0 auto;
    height: auto;
    display: none
}

.overview .buy-product__carousel .carousel-slider .carousel-item img.__current {
    display: block
}

.overview .buy-product__carousel .slick-slider {
    margin-bottom: 0
}

.overview .buy-product__carousel .slick-arrow {
    position: absolute;
    display: block;
    height: 16px;
    width: 16px;
    line-height: 0;
    font-size: 0;
    cursor: pointer;
    background: rgba(0, 0, 0, 0);
    color: rgba(0, 0, 0, 0);
    top: 48%;
    transform: translate(0, -50%);
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    z-index: 500
}

.overview .buy-product__carousel .slick-arrow.slick-prev {
    left: 0
}

.overview .buy-product__carousel .slick-arrow.slick-prev:before {
    content: "";
    font-size: 1.875rem;
    color: #313131;
    opacity: .5
}

.overview .buy-product__carousel .slick-arrow.slick-next {
    right: 1rem
}

.overview .buy-product__carousel .slick-arrow.slick-next:before {
    content: "";
    font-size: 1.875rem;
    color: #313131;
    opacity: .5
}

.overview .buy-product__detail {
    width: 46%;
    margin-top: .75rem
}

.overview .buy-product__title .img {
    width: 100%;
    max-width: 450px;
    height: auto;
    display: block
}

.overview .buy-product__text {
    font-size: 1rem;
    line-height: 1.75;
    margin-top: 1.5625rem
}

.overview .buy-product__colors {
    margin-top: 1.25rem;
    margin-left: .3125rem
}

.overview .buy-product__colors .color-selector {
    display: flex;
    gap: 15px
}

.overview .buy-product__colors .color-selector .color-ball {
    width: .75rem;
    height: .75rem;
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    transition: transform .3s
}

.overview .buy-product__colors .color-selector .color-ball:hover {
    transform: scale(1.1)
}

.overview .buy-product__colors .color-selector .color-ball.black {
    background: linear-gradient(to right, #000 0%, #000 50%, #000 50%, #000 100%);
    border: 1px solid #000
}

.overview .buy-product__colors .color-selector .color-ball.black.active {
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px #000
}

.overview .buy-product__colors .color-selector .color-ball.white {
    background: linear-gradient(to right, #fff 0%, #fff 50%, #fff 50%, #fff 100%);
    border: 1px solid #707070
}

.overview .buy-product__colors .color-selector .color-ball.white.active {
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px #707070
}

.overview .buy-product__colors .color-text {
    font-size: .875rem;
    margin-top: 1.5625rem
}

.overview .buy-product .the-price {
    margin-top: 1.25rem
}

.overview .buy-product .the-price .price {
    font-size: 2rem;
    line-height: 1.2
}

.overview .buy-product .the-price .price:before {
    font-size: .6em
}

.overview .buy-product .the-price .price:after {
    font-size: .4em
}

.overview .buy-product .buy-btn .btn {
    display: inline-block;
    background-color: #4ba53a;
    color: #fff;
    font-size: .8rem;
    padding: .3125rem 2rem;
    border-radius: 16px;
    margin-top: 1.875rem;
    margin-inline: auto;
    width: inherit;
    transition: padding .3s ease-in-out
}

.overview .buy-product .buy-btn .btn:hover {
    padding: .3125rem 2.5rem
}

.banner-compare {
    margin: 4.375rem auto 0
}

.banner-compare__link {
    display: block;
    transition: opacity .3s ease-in-out;
    max-width: 980px;
    width: 90%;
    margin: auto
}

.banner-compare__link:hover {
    opacity: .8
}

.banner-compare__img {
    max-width: 100%;
    height: auto;
    display: block
}

.info {
    margin: 5.625rem auto;
    max-width: 980px;
    width: 90%
}

.info .__contents ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    gap: 36px
}

.info .__contents ul li {
    width: 50%;
    max-width: 50%
}

.info .__contents ul li p {
    font-size: 1rem;
    padding-bottom: 3px
}

.info .__contents ul li p span {
    text-decoration: underline
}

@media only screen and (max-width: 1080px) {
    .info .__contents ul li p br {
        display: none
    }
}

.info .__contents ul li .info__text {
    margin-top: 20px
}

.info .__contents ul li .supplement {
    font-size: 14px
}

.info .__contents ul .__image_info-00 {
    margin-right: 0
}

.info .__contents ul .__image_info-00 .__limited {
    display: block;
    position: absolute;
    top: 40px;
    left: -136px;
    transform: rotate(45deg);
    width: 400px;
    padding: .2rem 0;
    background-color: rgba(75, 165, 58, .9);
    text-align: center;
    color: #fff
}

@media only screen and (max-width: 880px) {
    .info .__contents ul .__image_info-00 .__limited {
        top: auto;
        bottom: 40px;
        left: auto;
        right: -136px
    }
}

.cta_online-service {
    margin-top: 4.375rem
}

.cta_headline {
    margin-top: 2.25rem;
    width: 100%
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .__product_logo--primary {
        width: 186px !important;
        height: 16.5px !important;
        display: inline-block;
        margin-top: .8rem
    }

    .__product_logo--pro {
        width: 221px;
        height: 16px !important;
        display: inline-block;
        margin-top: .8rem
    }
}

.sp-only {
    display: none
}

.billboard-index {
    position: relative
}

.billboard-index .img {
    height: auto;
    display: block;
    width: 100%
}

.billboard-index:before {
    content: "";
    background-image: url("/jp/range-s/img/index/desktop/billboard-message.svg?20250623");
    background-repeat: no-repeat;
    display: block;
    left: 6.484375vw;
    position: absolute;
    bottom: 3.515625vw;
    background-size: 43.75vw 6.40625vw;
    width: 43.75vw;
    height: 6.40625vw;
    z-index: 10
}

.section--index .only-sp {
    display: none
}

.section--index.section--about {
    height: auto;
    text-align: center;
    padding: 2.5rem 2rem 6.875rem
}

@media only screen and (max-width: 1279px) {
    .section--index.section--about {
        padding: 2.5rem 2rem 4.6875rem
    }
}

.section--index.section--about .viewport {
    margin-top: .625rem
}

.section--index.section--about .product-img {
    max-width: 611px;
    margin-inline: auto
}

.section--index.section--about .img {
    max-width: 100%;
    height: auto;
    display: block;
    width: auto;
    margin-inline: auto
}

.section--index.section--about .about__announce {
    margin-top: 1.875rem
}

.section--index.section--about .about__announce span {
    font-size: 1rem;
    padding: .5625rem 2rem;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333
}

.section--index.section--about .about__logo {
    margin-top: 2.1875rem
}

.section--index.section--about .about__label {
    margin-top: 1.5625rem;
    display: inline-block;
    font-size: .875rem;
    padding: .125rem 1.5rem;
    border: 1px solid #525252;
    border-radius: 2px;
    color: #525252
}

.section--index.section--about .about__title {
    font-size: 2.8125rem;
    line-height: 1.6;
    margin-top: 3.5625rem
}

.section--index.section--about .about__text {
    font-size: 1.125rem;
    line-height: 2;
    margin-top: 1.0625rem;
    max-width: 645px;
    margin-inline: auto;
    text-align: left
}

.section--index.section--about .the-price {
    margin-top: 2.1875rem
}

.section--index.section--about .the-price .price {
    margin-left: 1.25rem;
    font-size: 2rem;
    line-height: 1.2
}

.section--index.section--about .the-price .price:before {
    font-size: .6em
}

.section--index.section--about .the-price .price:after {
    font-size: .4em
}

.section--index.section--about .buy-btn {
    margin-top: .9375rem
}

.section--index.section--about .buy-btn .btn {
    display: inline-block;
    background-color: #4ba53a;
    color: #fff;
    font-size: .8rem;
    padding: .3125rem 2rem;
    border-radius: 16px;
    margin-inline: auto;
    transition: padding .3s ease-in-out
}

.section--index.section--about .buy-btn .btn:hover {
    padding: .3125rem 2.5rem
}

.section--index.section--about .information {
    max-width: 820px;
    margin-inline: auto;
    background-color: #f8f8f8;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: .75rem .625rem .75rem 3.125rem;
    margin-top: 3.75rem
}

.section--index.section--about .information__left {
    display: flex;
    align-items: center;
    gap: 25px
}

.section--index.section--about .information__title {
    font-family: "bodoni-pt-variable", sans-serif;
    font-weight: 600;
    font-size: 1.125rem;
    color: #535353
}

.section--index.section--about .information__text {
    font-size: .875rem;
    color: #535353;
    text-align: left
}

.section--index.section--about .information__right {
    display: flex;
    align-items: center;
    gap: 1.875rem
}

.section--index.section--about .information__counter {
    font-size: .875rem;
    color: #535353;
    letter-spacing: .05em
}

.section--index.section--about .information__more {
    display: inline-block;
    padding: .25rem 2.6875rem;
    background-color: #b7afaf;
    color: #fff;
    text-decoration: none;
    font-size: .875rem;
    transition: opacity .3s ease-in-out
}

.section--index.section--about .information__more:hover {
    opacity: .75
}

.section--index.section--divide {
    padding: 0
}

.section--index.section--divide .img {
    width: 100%;
    height: auto;
    display: block
}

.section--index.section--features {
    padding: 7.5rem 0 10.125rem
}

@media only screen and (max-width: 1279px) {
    .section--index.section--features {
        padding: 5.3125rem 0 7.5rem
    }
}

.section--index.section--features .viewport {
    max-width: 1920px
}

.section--index.section--features .features__title {
    text-align: center;
    font-size: 3.875rem;
    color: #d95732;
    line-height: 1.2903225806;
    font-family: "bodoni-pt-variable", sans-serif;
    font-weight: 600
}

.section--index.section--features .lyt .slick-dots {
    padding: 0;
    line-height: 1;
    margin-top: 1.5625rem
}

.section--index.section--features .lyt .slick-dots li {
    margin: 0 2px
}

.section--index.section--features .lyt .slick-dots li button:before {
    font-size: .25rem;
    color: #999;
    opacity: 1
}

.section--index.section--features .lyt .slick-dots li.slick-active button:before {
    font-size: .5rem;
    color: #000;
    opacity: 1
}

.section--index.section--features .lyt .slick-arrow {
    width: 30px;
    height: 30px;
    margin: 0;
    background-color: rgba(225, 225, 225, .7);
    border-radius: 50%
}

.section--index.section--features .lyt .slick-arrow:before {
    font-size: 1.875rem;
    color: #313131;
    opacity: .5
}

@media only screen and (min-width: 1001px) {
    .section--index.section--features .lyt {
        display: flex;
        flex-direction: column;
        gap: 98px;
        margin-top: 3.75rem
    }

    .section--index.section--features .lyt .lyt-item {
        display: flex;
        align-items: center;
        gap: 88px;
        margin-right: 5rem
    }

    .section--index.section--features .lyt .lyt-item--reverse {
        flex-direction: row-reverse;
        margin-right: 0;
        margin-left: 5rem
    }

    .section--index.section--features .lyt .lyt-item .video {
        height: auto;
        width: 100vw;
        max-width: 100%
    }

    .section--index.section--features .lyt .lyt-item__img {
        max-width: 950px;
        height: auto;
        margin-bottom: 0;
        width: clamp(29.125rem, -30.14rem + 98.78vw, 59.375rem)
    }

    .section--index.section--features .lyt .lyt-item__img .img {
        height: auto;
        display: block;
        max-width: 100%
    }

    .section--index.section--features .lyt .lyt-item__content {
        width: 24.609375vw;
        max-width: 600px;
        min-width: 320px
    }

    .section--index.section--features .lyt .lyt-item__title {
        font-size: 2.8125rem;
        line-height: 1.3333333333
    }

    .section--index.section--features .lyt .lyt-item__text {
        font-size: 1rem;
        line-height: 1.75;
        margin-top: 1.875rem
    }

    .section--index.section--features .lyt .lyt-item__btn {
        display: inline-block;
        text-decoration: none;
        color: #fff;
        font-size: .875rem;
        text-align: center;
        background-color: #555;
        padding: .625rem 0;
        width: 12.5rem;
        border-radius: 40px;
        opacity: .75;
        margin-top: 2.1875rem;
        transition: width .3s ease-in-out
    }

    .section--index.section--features .lyt .lyt-item__btn:hover {
        width: 13.75rem
    }
}

@media only screen and (max-width: 1000px) {
    .section--index.section--features .lyt {
        display: flex;
        flex-direction: column;
        gap: 7.5rem;
        margin-top: 3.75rem
    }

    .section--index.section--features .lyt .lyt-item {
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
        margin-right: 2rem
    }

    .section--index.section--features .lyt .lyt-item--reverse {
        margin-right: 0;
        margin-left: 2rem
    }

    .section--index.section--features .lyt .lyt-item--reverse .lyt-item__content {
        padding-left: 0;
        padding-right: 2rem
    }

    .section--index.section--features .lyt .lyt-item .video {
        height: auto;
        width: 100%;
        max-width: 100%
    }

    .section--index.section--features .lyt .lyt-item__img {
        height: auto
    }

    .section--index.section--features .lyt .lyt-item__img .img {
        height: auto;
        display: block;
        width: 100%;
        max-width: 100%
    }

    .section--index.section--features .lyt .lyt-item__content {
        padding-left: 2rem
    }

    .section--index.section--features .lyt .lyt-item__title {
        font-size: 2.8125rem;
        line-height: 1.3333333333
    }

    .section--index.section--features .lyt .lyt-item__title .only-pc {
        display: none
    }

    .section--index.section--features .lyt .lyt-item__text {
        font-size: 1rem;
        line-height: 1.75;
        margin-top: 1.25rem
    }

    .section--index.section--features .lyt .lyt-item__btn {
        display: inline-block;
        text-decoration: none;
        color: #fff;
        font-size: .875rem;
        text-align: center;
        background-color: #555;
        padding: .625rem 0;
        width: 12.5rem;
        border-radius: 40px;
        opacity: .75;
        margin-top: 1.875rem;
        transition: width .3s ease-in-out
    }

    .section--index.section--features .lyt .lyt-item__btn:hover {
        width: 13.75rem
    }
}

.section--index.section--features .btn-area {
    margin: 6.25rem 0 0;
    display: flex;
    justify-content: center;
    align-items: center
}

@media only screen and (max-width: 1279px) {
    .section--index.section--features .btn-area {
        margin: 5rem 0 0
    }
}

.section--index.section--features .btn-area .btn {
    display: inline-block;
    background-color: rgba(85, 85, 85, .75);
    color: #fff;
    font-size: .9rem;
    width: 170px;
    height: 45px;
    line-height: 45px;
    border-radius: 40px;
    margin-inline: auto;
    transition: width .3s ease-in-out
}

.section--index.section--features .btn-area .btn:hover {
    width: 190px
}

.section--index.section--modes {
    padding: 7.5rem 2rem 8.75rem;
    background-color: #f7f7f7
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes {
        padding: 5.3125rem 2rem 4.0625rem
    }
}

.section--index.section--modes .viewport {
    max-width: 1120px;
    margin: 0 auto
}

.section--index.section--modes .modes__title {
    text-align: center;
    font-size: 2.8125rem;
    line-height: 1.3333333333
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__title {
        text-align: left
    }
}

.section--index.section--modes .modes__title span {
    display: inline-block
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__title span {
        display: block
    }
}

.section--index.section--modes .modes__lead {
    text-align: center;
    font-size: 1rem;
    line-height: 1.75;
    margin-top: 1.875rem
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__lead {
        text-align: left
    }
}

.section--index.section--modes .modes__tabs {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 3.3125rem;
    list-style: none;
    padding: 0
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes .modes__tabs {
        margin-top: 1.375rem
    }
}

.section--index.section--modes .modes__tabs .modes__tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    position: relative;
    padding-bottom: .75rem;
    user-select: none;
    min-width: 115px;
    border-bottom: 2px solid #3c3c3c
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__tabs .modes__tab {
        min-width: 89px
    }
}

.section--index.section--modes .modes__tabs .modes__tab::after {
    content: "";
    background-image: url("/jp/range-s/img/index/desktop/active-icon.svg");
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
    margin: auto;
    width: 10px;
    height: 6px;
    opacity: 0;
    transition: opacity .2s ease-in-out
}

.section--index.section--modes .modes__tabs .modes__tab.is-active::after {
    opacity: 1
}

.section--index.section--modes .modes__tabs .modes__tab .modes__tab-label {
    margin-top: .75rem;
    margin-bottom: -0.625rem;
    font-size: .8rem;
    text-align: center
}

.section--index.section--modes .modes__tabs .modes__tab .modes__tab-label span {
    display: inline-block
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__tabs .modes__tab .modes__tab-label span {
        display: block
    }
}

.section--index.section--modes .modes__panels {
    margin-top: 5.9375rem;
    position: relative;
    transition: height .35s ease
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes .modes__panels {
        margin-top: 4.375rem
    }
}

.section--index.section--modes .modes__panels .modes__panel {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
    min-height: 500px
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes .modes__panels .modes__panel {
        min-height: 400px
    }
}

.section--index.section--modes .modes__panels .modes__panel.is-active {
    position: relative;
    opacity: 1;
    visibility: visible
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-inner {
    background: #fff;
    border: 1px solid #eee;
    padding: 3.125rem 3.125rem 3.125rem 4.0625rem;
    display: flex;
    align-items: center;
    gap: 65px
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes .modes__panels .modes__panel .modes__panel-inner {
        padding: 1.5625rem
    }
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__panels .modes__panel .modes__panel-inner {
        flex-direction: column;
        gap: 40px;
        padding: 3.75rem 2.5rem 3.125rem
    }
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-basis: 80%;
    gap: 30px
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__panels .modes__panel .modes__panel-head {
        gap: 20px
    }
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-body {
    max-width: 540px
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-body .img {
    width: 100%;
    height: auto;
    display: block
}

.section--index.section--modes .modes__panels .modes__panel .modes__badge {
    max-width: 177px
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes .modes__panels .modes__panel .modes__badge {
        max-width: 147px
    }
}

.section--index.section--modes .modes__panels .modes__panel .modes__badge .img {
    width: 100%;
    height: auto;
    display: block
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-title {
    font-size: 2.25rem;
    line-height: 1.3333333333
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-text {
    font-size: 1rem;
    line-height: 2
}

.section--index .video_play {
    position: absolute;
    z-index: 400;
    color: #fff;
    margin: 0 0 0 -100px;
    text-align: center;
    text-decoration: none;
    transition: opacity 2s ease-out;
    opacity: 1;
    cursor: pointer;
    width: 110px;
    height: 110px
}

.section--index .video_play:after {
    position: absolute;
    top: -2px;
    left: -2px;
    display: block;
    content: "";
    background: #666;
    opacity: .56;
    width: 110px;
    height: 110px;
    border: 4px solid #fff;
    border-radius: 50%;
    z-index: 549;
    transform: scale(1);
    transition: transform .1s ease-out
}

.section--index .video_play.invisible {
    opacity: 0
}

.section--index .video_play span {
    position: relative;
    z-index: 551;
    display: block;
    height: 110px
}

.section--index .video_play span::before {
    content: url("../img/svg/ctrl__play.svgz");
    position: absolute;
    top: calc(50% - 24px);
    left: calc(50% - 17px);
    width: 42px;
    height: 42px;
    line-height: 44px;
    display: block;
    text-align: center;
    z-index: 550
}

.section--index .video_play span:after {
    content: "ビデオを再生";
    font-size: .6875rem;
    width: 110px;
    height: 11px;
    display: block;
    text-align: center;
    padding-top: 75px;
    text-decoration: none
}

.section--index .video_play:hover {
    text-decoration: none
}

.section--index .video_play:hover:after {
    transform: scale(1.1);
    box-shadow: 0px 10px 5px -4px rgba(41, 41, 41, .3)
}

.section--index .video_play.__imagebtn {
    background-size: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1)
}

.section--index .video_stop {
    position: absolute;
    z-index: 99;
    top: 2%;
    right: 2%;
    width: 50px;
    height: 50px;
    color: #666;
    cursor: pointer
}

.section--index .video_stop:hover {
    opacity: .8
}

.section--index .video_stop::after {
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    font-size: 54px;
    font-size: 3rem
}

.section--index .modal-bg {
    background: rgba(0, 0, 0, .8);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    z-index: -100
}

.section--index .modal-bg.__visible {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    cursor: pointer;
    z-index: 900
}

.section--index .section_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: -99
}

.section--index .section_overlay.visible {
    opacity: 1;
    z-index: 901;
    transition: opacity .8s;
    pointer-events: all;
    cursor: pointer
}

.section--index .section_overlay video {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    cursor: default
}

.section--index .section_overlay_inner {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    height: 100%
}

.section--index.section--about__modal-outter {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, .5)
}

.section--index .section--about__modal-inner {
    max-width: 980px;
    width: 76.5625vw;
    height: fit-content;
    max-height: 685px;
    margin: 0 auto;
    background: #fff;
    position: absolute;
    inset: 0;
    margin: auto;
    overflow-y: scroll
}

@keyframes modalopen {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.section--index .section--about__modal-inner .round_btn {
    display: block;
    position: relative;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #acacac;
    transition: all 1s;
    position: sticky;
    top: 20px;
    right: 20px;
    margin-left: auto;
    cursor: pointer
}

.section--index .section--about__modal-inner .modal__content {
    padding: .9375rem 5rem 5rem
}

.section--index .section--about__modal-inner .round_btn::before,
.section--index .section--about__modal-inner .round_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 22px;
    background: #fff
}

.section--index .section--about__modal-inner .round_btn::before {
    transform: translate(-50%, -50%) rotate(45deg)
}

.section--index .section--about__modal-inner .round_btn::after {
    transform: translate(-50%, -50%) rotate(-45deg)
}

.section--index .section--about__modal-inner .round_btn:hover {
    transform: rotate(180deg)
}

.section--index .section--about__modal-inner .modal__title {
    font-family: "bodoni-pt-variable", sans-serif;
    font-weight: 600;
    font-size: 2.1875rem;
    color: #535353
}

.section--index .section--about__modal-inner .lyt__list {
    margin-top: 1.6875rem;
    max-width: 820px
}

.section--index .section--about__modal-inner .lyt__item {
    display: flex;
    align-items: center;
    gap: 40px
}

.section--index .section--about__modal-inner .lyt__item:not(:first-child) {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    border-top: 1px solid #c7c7c7
}

@media only screen and (max-width: 940px) {
    .section--index .section--about__modal-inner .lyt__item {
        flex-direction: column
    }
}

.section--index .section--about__modal-inner .lyt__body {
    max-width: 280px;
    width: 100%
}

@media only screen and (max-width: 940px) {
    .section--index .section--about__modal-inner .lyt__body {
        max-width: unset
    }
}

.section--index .section--about__modal-inner .lyt__body .img {
    max-width: 100%;
    height: auto;
    display: block
}

@media only screen and (max-width: 940px) {
    .section--index .section--about__modal-inner .lyt__body .img {
        width: 100%
    }
}

.section--index .section--about__modal-inner .lyt__head {
    max-width: 500px;
    width: 100%
}

.section--index .section--about__modal-inner .lyt__text {
    font-size: 1rem;
    line-height: 2;
    color: #535353
}

.section--index .section--about__modal-inner .lyt__text a {
    color: #535353
}

.section--index .section--about__modal-inner .lyt__text span {
    display: block;
    font-size: .75rem;
    margin-top: .3125rem
}

.section--index #section--about__modal {
    animation-name: modalopen;
    animation-duration: .5s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    opacity: 0;
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: 10
}

.campaign {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .625rem 0;
    border-top: 1px solid #e59806;
    border-bottom: 1px solid #e59806;
    margin-top: 2.25rem;
    font-size: .9rem
}

.campaign .__news {
    display: inline-block;
    margin-right: 1rem;
    padding: .2rem 1rem;
    border-radius: 2px;
    background-color: #e59703;
    color: #fff;
    text-transform: uppercase
}

.campaign__txt a {
    font-size: .9375rem;
    line-height: 2.3333333333;
    color: #e59806;
    padding: .2rem 0;
    text-align: left;
    margin: 0 auto;
    display: block;
    text-decoration: none
}

.sp-only {
    display: none
}

.section--design {
    background-size: cover
}

.section--design.pc-only {
    display: block
}

.section--design.sp-only {
    display: none
}

.section--design .__is_tablet {
    display: none
}

@media only screen and (max-width: 1080px) {
    .section--design .__is_tablet {
        display: block
    }
}

.section--design .button {
    display: block;
    box-sizing: border-box;
    width: 180px;
    height: 45px;
    margin: 0 10px;
    border: 1px solid #000;
    border-radius: 20px;
    font-size: 1.125rem;
    line-height: 45px;
    text-decoration: none;
    color: #000;
    transition: all .2s
}

.section--design .section__title {
    font-size: 2.375rem;
    line-height: 1.4473684211
}

.section--design.section--00 {
    height: auto;
    padding: 0 0 8.125rem 0
}

.section--design.section--00 .page__title {
    font-size: 2.8125rem;
    letter-spacing: 0
}

.section--design.section--00 .viewport {
    max-width: 840px;
    text-align: center;
    padding: 5.4375rem 2rem 0
}

.section--design.section--00 .__content p {
    font-size: 1.125rem;
    line-height: 1.8
}

.section--design.section--01 {
    color: #fff;
    height: 53.125vw;
    min-height: 530px;
    padding: 10.625rem 6.25vw 6rem
}

.section--design.section--01.loaded {
    background-image: url("../img/design//desktop/section--01.jpg?20241118")
}

@media(-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    .section--design.section--01.loaded {
        background-image: url("../img/design//desktop/section--01@2x.jpg?20241118")
    }
}

.section--design.section--01 .viewport {
    display: flex;
    align-items: center;
    padding: 0;
    max-width: none
}

.section--design.section--01 .__content {
    width: 23.75rem;
    padding-bottom: 2.875rem
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {
    .section--design.section--01 .__content {
        max-width: clamp(16.25rem, 9.573rem + 16.67vw, 20rem)
    }
}

.section--design.section--01 .__content p {
    font-size: 1rem;
    line-height: 1.75
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {
    .section--design.section--01 .__content p {
        font-size: clamp(.875rem, .652rem + .56vw, 1rem)
    }
}

.section--design.section--01 .section__title {
    margin-bottom: 1.5rem
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {
    .section--design.section--01 .section__title {
        font-size: clamp(1.625rem, .957rem + 1.67vw, 2rem)
    }
}

.section--design.section--02,
.section--design.section--03 {
    position: relative;
    overflow: visible;
    height: auto;
    padding: 0
}

.section--design.section--02.--reverse .viewport,
.section--design.section--03.--reverse .viewport {
    justify-content: flex-end
}

.section--design.section--02.--reverse .__content,
.section--design.section--03.--reverse .__content {
    margin-left: 0;
    margin-right: 7.8125vw
}

.section--design.section--02 .viewport,
.section--design.section--03 .viewport {
    display: flex;
    align-items: center;
    max-width: none
}

.section--design.section--02 .__content,
.section--design.section--03 .__content {
    max-width: 23.75rem;
    color: #fff;
    margin-left: 6.25vw;
    margin-top: -1.5625rem
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {

    .section--design.section--02 .__content,
    .section--design.section--03 .__content {
        max-width: clamp(16.25rem, 9.573rem + 16.67vw, 20rem)
    }
}

.section--design.section--02 .section__title,
.section--design.section--03 .section__title {
    margin-bottom: 1.5rem;
    width: 100%
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {

    .section--design.section--02 .section__title,
    .section--design.section--03 .section__title {
        font-size: clamp(1.625rem, .957rem + 1.67vw, 2rem)
    }
}

.section--design.section--02 .section__title span,
.section--design.section--03 .section__title span {
    display: inline-block
}

.section--design.section--02 .section__description,
.section--design.section--03 .section__description {
    text-align: center;
    width: 100%;
    text-align: left;
    font-size: 1rem;
    line-height: 1.75
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {

    .section--design.section--02 .section__description,
    .section--design.section--03 .section__description {
        font-size: clamp(.875rem, .652rem + .56vw, 1rem)
    }
}

.section--design.section--02 .section_overlay_inner,
.section--design.section--03 .section_overlay_inner {
    width: 100%;
    margin: auto;
    height: fit-content;
    max-width: 1600px
}

.section--design.section--02 .section__btn,
.section--design.section--03 .section__btn {
    background-color: rgba(255, 255, 255, .75);
    margin-top: 2.2rem;
    min-width: 180px;
    width: 180px;
    color: #000;
    font-size: .9rem;
    line-height: 44px;
    text-align: center;
    text-decoration: none;
    border-radius: 22px;
    display: inline-block;
    transition: width .4s;
    cursor: pointer
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {

    .section--design.section--02 .section__btn,
    .section--design.section--03 .section__btn {
        width: clamp(8.75rem, 4.299rem + 11.11vw, 11.25rem);
        min-width: clamp(8.75rem, 4.299rem + 11.11vw, 11.25rem)
    }
}

.section--design.section--02 .section__btn:hover,
.section--design.section--03 .section__btn:hover {
    width: 200px
}

.section--design.section--02 .video_wrap,
.section--design.section--03 .video_wrap {
    position: relative;
    height: 56.25vw;
    min-height: 560px;
    overflow: hidden
}

@media screen and (max-width: 1279px) {

    .section--design.section--02 .video_play.__imagebtn,
    .section--design.section--03 .video_play.__imagebtn {
        display: none !important
    }
}

.section--design.section--02 .__video_area,
.section--design.section--03 .__video_area {
    z-index: -1;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden
}

.section--design.section--02 .__video,
.section--design.section--03 .__video {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    height: 56.25vw;
    transform: translate(-50%, 0);
    min-height: 100%;
    min-width: 100%
}

.section--design.section--02 .video_play.__imagebtn,
.section--design.section--03 .video_play.__imagebtn {
    position: absolute
}

.section--design.section--02 .video_play span::before,
.section--design.section--03 .video_play span::before {
    top: calc(50% - 30px)
}

.section--design.section--02 .video_play:after,
.section--design.section--03 .video_play:after {
    background: #000;
    opacity: .3
}

.section--design.section--02 .video_play span:after,
.section--design.section--03 .video_play span:after {
    padding-top: 69px
}

.section--design.section--04 {
    padding: 7.5rem 6.25vw 8.75rem
}

.section--design.section--04 .viewport {
    max-width: 1600px
}

.section--design.section--04 .section__title {
    font-size: 2.375rem;
    line-height: 1.3157894737;
    margin-bottom: 2.5rem
}

.section--design .video_stop,
.section--design .video_stop02 {
    position: absolute;
    z-index: 99;
    top: 0;
    right: 2%;
    width: 50px;
    height: 50px;
    color: #666;
    cursor: pointer
}

.section--design .video_stop:hover,
.section--design .video_stop02:hover {
    opacity: .8
}

.section--design .video_stop::after,
.section--design .video_stop02::after {
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    font-size: 54px;
    font-size: 3rem
}

.section--design .section_overlay {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: -99
}

.section--design .section_overlay.visible {
    opacity: 1;
    z-index: 901;
    transition: opacity .8s;
    pointer-events: all;
    cursor: pointer
}

.section--design .section_overlay video {
    display: block;
    margin: auto;
    width: 100%;
    height: auto;
    cursor: default
}

.section--design .section_overlay_inner {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%
}

.modal-bg {
    background: rgba(0, 0, 0, .8);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    z-index: -100
}

.modal-bg.__visible {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    cursor: pointer;
    z-index: 900
}

.section--spec .__basic {
    width: 100%;
    margin-bottom: 2rem;
    border-collapse: collapse;
    border-spacing: 0;
    text-align: left;
    font-size: .9rem;
    line-height: 1.5
}

.section--spec .__basic th,
.section--spec .__basic td {
    padding: .4375rem 0;
    border-bottom: 1px solid #ebebeb;
    vertical-align: top
}

.section--spec .__basic th {
    width: 220px
}

.section--spec.section--01 {
    padding: 5rem 2rem 6.25rem;
    border-top: 1px solid #cbcbcb;
    background-color: #f8f8f8
}

.section--spec.section--01 .title {
    font-size: 2.375rem
}

.section--spec.section--01 .__content {
    padding: 0;
    margin-top: 1.625rem
}

.section--spec.section--01.section--spec .__basic tr:first-child td,
.section--spec.section--01.section--spec .__basic tr:first-child th {
    border-top: 1px solid #ebebeb
}

.section--spec.section--01 .note {
    margin-bottom: .5rem;
    font-style: normal;
    font-size: .9rem;
    padding: 1rem 0 0 0
}

.section--spec.section--01 .note:first-child {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.section--spec.section--01 .section__title-modify {
    margin-top: 5.625rem
}

.section--spec.section--02 {
    padding-bottom: 5.625rem
}

.section--spec.section--02 .__image {
    position: absolute;
    top: -5px;
    left: 0;
    right: 0;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: auto;
    opacity: 0;
    transition: opacity .4s
}

.section--spec.section--02 .__image.__current {
    opacity: 1
}

.section--spec.section--02 .__image_outer {
    margin: 0 auto;
    width: 100%;
    max-width: 785px
}

.section--spec.section--02 .__image_inner {
    position: relative;
    padding-top: 80%
}

.section--spec.section--02 .__selector {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 149px;
    height: 50px;
    border: 2px solid #707070;
    border-radius: 25px;
    font-size: 14.4px;
    font-size: .8rem;
    color: #646464;
    cursor: pointer;
    transition: all .3s
}

.section--spec.section--02 .__selector br {
    display: none
}

.section--spec.section--02 .__selector:hover {
    border-color: #039be5;
    color: #039be5
}

.section--spec.section--02 .__selector.__current {
    background-color: #039be5;
    border-color: #039be5;
    color: #fff;
    cursor: default
}

.section--spec.section--02 .__selector_wrap {
    margin: 45px 0 0;
    display: flex;
    justify-content: center
}

.section--spec.section--02 .__selector_wrap>:not(:last-child) {
    margin-right: 9px
}

.section--spec.section--03 {
    padding: 5.3125rem 2rem 7.1875rem
}

.section--spec.section--03 .title {
    font-size: 2.375rem
}

.section--spec.section--03 .list {
    margin-top: 1.5625rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(465px, 1fr));
    gap: 0 50px;
    list-style: none
}

@media screen and (max-width: 1000px) {
    .section--spec.section--03 .list {
        grid-template-columns: auto;
        grid-auto-flow: unset;
        grid-template-rows: none;
        place-items: unset
    }
}

.section--spec.section--03 .list__item {
    display: flex;
    gap: 20px;
    flex-wrap: nowrap;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid #ebebeb
}

.section--spec.section--03 .list__item:nth-child(1),
.section--spec.section--03 .list__item:nth-child(2) {
    border-top: 1px solid #ebebeb
}

@media screen and (max-width: 1000px) {
    .section--spec.section--03 .list__item:nth-child(4) {
        border-top: none
    }
}

.section--spec.section--03 .item__img {
    max-width: 80px
}

.section--spec.section--03 .item__img .img {
    max-width: 100%;
    width: auto;
    height: auto
}

.section--spec.section--03 .item__title {
    font-size: 1rem
}

.section--spec.section--03 .item__txt {
    font-size: .9rem;
    line-height: 1.5;
    margin-top: .3125rem
}

.section--spec.section--04 {
    padding: 5.3125rem 2rem 6.25rem;
    background-color: #f7f7f7
}

.section--spec.section--04 .img {
    max-width: 100%;
    width: auto;
    height: auto
}

.section--spec.section--04 .title {
    font-size: 2.375rem
}

.section--spec.section--04 .lyt {
    margin-top: 2.8125rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 70px 100px
}

@media screen and (max-width: 1000px) {
    .section--spec.section--04 .lyt {
        grid-template-columns: auto
    }
}

.section--spec.section--04 .lyt__item {
    max-width: 425px;
    display: flex;
    flex-direction: column;
    gap: 15px
}

@media screen and (max-width: 1000px) {
    .section--spec.section--04 .lyt__item {
        max-width: 100%
    }
}

.section--spec.section--04 .lyt .item__body {
    margin: 0 auto
}

.section--spec.section--04 .lyt .item__title {
    font-size: 1.75rem;
    line-height: 1.5714285714
}

.section--spec.section--04 .lyt .item__txt {
    margin-top: .9375rem;
    font-size: 1rem;
    line-height: 1.75
}

.section--dealer .viewport {
    max-width: 700px
}

.section--dealer.section--00 {
    padding: 6rem 0;
    text-align: center
}

.section--dealer.section--01 {
    padding-top: 3rem;
    background-color: #fbfbfb;
    border-top: 1px solid #ddd
}

.section--dealer .input {
    margin-bottom: 0
}

.section--dealer .input>select {
    height: 3.5rem
}

.section--dealer .states ul {
    list-style: none
}

.section--dealer .prefecture {
    position: relative;
    height: 3.5rem;
    padding: 0 1rem;
    border-bottom: 1px solid #ddd;
    line-height: 3.5rem
}

.section--dealer .prefecture>span {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 1rem;
    width: 100%;
    height: 100%;
    text-align: right;
    cursor: pointer
}

.section--dealer .shop {
    padding: 1rem 1rem .7rem;
    border-bottom: 1px solid #ddd
}

.section--dealer .shop .name,
.section--dealer .shop .tel,
.section--dealer .shop .address {
    display: block;
    position: relative;
    margin-bottom: .3rem;
    line-height: 1.4
}

.section--dealer .shop .name {
    font-weight: bold
}

.section--dealer .shop .tel,
.section--dealer .shop .address {
    padding-left: 1.7rem
}

.section--dealer .shop .tel:before,
.section--dealer .shop .address:before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #ccc
}

.section--dealer .shop .tel a,
.section--dealer .shop .address a {
    text-decoration: none
}

.section--dealer .shop .tel:before {
    content: ""
}

.section--dealer .shop .address:before {
    content: "";
    font-size: 1.1rem
}

.section--dealer .shop .address>a:after {
    display: inline-block;
    position: relative;
    top: -1px;
    content: "地図";
    height: 1.2rem;
    border: 1px solid #666;
    margin-left: .5rem;
    padding: 0 .8rem;
    font-size: .8rem;
    line-height: 1.3rem;
    color: #666
}

.section--shops .viewport {
    max-width: 880px
}

.section--shops.section--00 {
    padding-top: 7rem;
    border-bottom: 1px solid #ddd;
    text-align: center
}

.section--shops .states ul {
    list-style: none
}

.section--shops .states .name,
.section--shops .states .tel,
.section--shops .states .address {
    display: block;
    position: relative;
    margin-bottom: .3rem;
    line-height: 1.4
}

.section--shops .states .name {
    font-weight: bold;
    margin-bottom: .5rem
}

.section--shops .states .umeda {
    margin-top: 22%
}

.section--shops .states .tel a,
.section--shops .states .address a {
    text-decoration: none;
    color: #666
}

.section--shops .states .tel {
    padding-left: 1.7rem
}

.section--shops .states .tel:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #666
}

.section--shops .states .address>a:after {
    display: inline-block;
    position: relative;
    top: -1px;
    content: "地図";
    height: 1.2rem;
    border: 1px solid #666;
    margin-left: 1rem;
    padding: 0 .8rem;
    font-size: .8rem;
    line-height: 1.3rem;
    color: #666
}

.section--shops.section--01 {
    padding-top: 2rem;
    padding-bottom: 0
}

.section--shops.section--01 .states {
    padding: 3rem 0 0
}

.section--shops.section--01 .states .button {
    margin-left: 0;
    width: 200px;
    color: #333;
    font-size: .8rem;
    line-height: 44px;
    text-align: center;
    text-decoration: none;
    border: solid 1px #333;
    border-radius: 22px;
    display: block;
    transition: all .2s;
    cursor: pointer
}

.section--shops.section--01 .states .button:hover {
    width: 220px
}

.section--shops.section--01 .shop {
    padding-bottom: 5rem
}

.section--shops.section--01 .shop:not(:last-child) .pickup {
    border-bottom: 1px solid #ddd
}

.section--shops.section--01 .shop .pickup {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    padding: 5rem 0 4rem
}

.section--shops.section--01 .shop .pickup .label {
    position: absolute;
    top: 2rem;
    left: 0;
    display: block;
    width: 200px;
    padding: .3rem 0;
    background-color: #333;
    color: #fff;
    text-align: center
}

.section--shops.section--01 .shop .pickup .name {
    margin-bottom: .8rem;
    font-size: 21px
}

.section--shops.section--01 .shop .pickup .photo {
    width: 480px;
    height: 300px;
    border-radius: 10px;
    overflow: hidden
}

.section--shops.section--01 .shop .pickup .contents {
    flex: 1;
    padding: 0 2rem 0 0;
    margin-top: .5rem
}

.section--shops.section--01 .shop .pickup .description {
    margin-top: 1.5rem
}

.section--shops.section--01 .shop .pickup .date {
    display: block;
    margin-top: 1rem;
    font-weight: bold
}

.section--shops.section--01 .shop .pickup .note {
    margin-top: 1rem;
    line-height: 1.6;
    color: #999;
    font-style: normal
}

.section--shops.section--01 .shop .pickup .button {
    margin-top: 2.2rem;
    margin-left: 0;
    width: 180px;
    color: #333;
    font-size: .8rem;
    line-height: 44px;
    text-align: center;
    text-decoration: none;
    border: solid 1px #333;
    border-radius: 22px;
    display: block;
    transition: all .2s;
    cursor: pointer
}

.section--shops.section--01 .shop .pickup .button:hover {
    width: 200px
}

@media screen and (max-width: 940px) {
    .section--shops.section--01 .shop .pickup {
        display: block;
        flex: none;
        padding-top: 6rem
    }

    .section--shops.section--01 .shop .pickup .contents {
        padding-top: 3rem
    }
}

.section--shops.section--02 {
    padding-top: 5rem;
    background-color: #fbfbfb;
    border-top: 1px solid #ddd
}

.section--shops.section--02 .section__title {
    margin-bottom: 1rem
}

.section--shops.section--02 .title_caption {
    margin-bottom: 4rem
}

.section--shops.section--02 .cpn {
    font-size: .8rem
}

.section--shops.section--02 .input {
    margin-bottom: 0
}

.section--shops.section--02 .input>select {
    height: 3.5rem
}

.section--shops.section--02 .prefecture {
    position: relative;
    height: 3.5rem;
    padding: 0 1rem;
    border-bottom: 1px solid #ddd;
    line-height: 3.5rem
}

.section--shops.section--02 .prefecture>span {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 1rem;
    width: 100%;
    height: 100%;
    text-align: right;
    cursor: pointer
}

.section--shops.section--02 .shop {
    padding: 1rem 1rem .7rem;
    border-bottom: 1px solid #ddd
}

.section--shops.section--02 .shop .name {
    margin-bottom: .3rem
}

.section--shops .__information {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin-top: 5rem;
    padding: 1rem 2rem;
    border-radius: 10px;
    color: #fff;
    background-color: #4dc0db;
    text-align: center;
    text-decoration: none
}

.shoptit .label {
    top: 2rem;
    left: 0;
    display: block;
    text-align: left !important;
    padding: .3rem 0;
    color: #333;
    text-align: center;
    font-size: 2.4rem
}

.shoptit .description {
    margin-top: 1.5rem
}

@media only screen and (max-width: 800px) {
    .section--shops .states .umeda {
        margin-top: 8% !important
    }
}

.aoyama_store {
    background-color: #f5f5f5;
    padding: 120px 0
}

.aoyama_store .store__ttl {
    margin: 0 auto;
    text-align: center;
    width: 492px;
    margin-bottom: 29px
}

.aoyama_store .store__ttl img {
    width: 100%;
    height: auto
}

.aoyama_store .store__subttl {
    width: 100%;
    font-size: 1rem;
    text-align: center;
    margin-bottom: 80px;
    font-size: 1rem;
    line-height: 1.8
}

.aoyama_store .store__inner {
    text-align: center;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    width: 80%
}

.aoyama_store .store-col1 {
    text-align: left;
    width: 460px;
    padding-right: 30px
}

.aoyama_store .store-col2 {
    text-align: left;
    width: 520px;
    margin-bottom: 0px
}

.aoyama_store .store-info__etc {
    text-align: left;
    line-height: 200%;
    font-size: .875rem;
    margin-bottom: 20px
}

.aoyama_store .store-info__text {
    text-align: left;
    line-height: 200%;
    font-size: .875rem;
    margin-bottom: 16px
}

.aoyama_store .btn-external {
    width: 270px;
    margin-top: 20px
}

.aoyama_store .btn-external::first-child {
    margin-top: 0px
}

.aoyama_store .store__img {
    width: 100%
}

.aoyama_store .store__img img {
    width: 100%
}

.brand_shop {
    padding: 110px 0 120px 0
}

.brand_shop .shop__ttl {
    text-align: center;
    font-weight: bold;
    line-height: 160%;
    margin-bottom: 20px;
    font-size: 2rem
}

.brand_shop .shop__ttl .sp {
    display: none
}

.brand_shop .shop__subttl {
    margin: 0 auto;
    line-height: 180%;
    width: 80%;
    text-align: center;
    margin-bottom: 67px;
    font-size: 1rem
}

.brand_shop .shop__subttl .sp {
    display: none
}

.brand_shop .shop_block {
    display: flex;
    width: 90%;
    max-width: 1070px;
    margin: 0 auto
}

.brand_shop .shop__inner {
    text-align: center;
    margin: 0 auto;
    flex-direction: row;
    width: 80%;
    max-width: 980px
}

.brand_shop .shop-col1 {
    text-align: left;
    justify-content: center;
    align-items: center;
    margin-bottom: 80px;
    display: flex
}

@media only screen and (max-width: 800px) {
    .brand_shop .shop-col1 {
        display: block
    }
}

.brand_shop .shop-col1 .shop-info_block {
    width: 91%
}

.brand_shop .shop-col1 .shop-info__btn {
    text-align: center
}

.brand_shop .shop-col2 {
    border-top: 1px solid #707070;
    padding-top: 50px;
    border: none;
    padding: 0;
    text-align: left;
    width: 43%;
    padding-right: 0px
}

.brand_shop .shop-info__ttl {
    font-weight: bold;
    text-align: left;
    line-height: 180%;
    font-size: 1.25rem;
    margin-bottom: 16px
}

.brand_shop .shop-info__etc {
    text-align: left;
    line-height: 200%;
    font-size: .875rem;
    margin-bottom: 20px
}

.brand_shop .shop-info__text {
    text-align: left;
    line-height: 180%;
    font-size: .875rem;
    margin-bottom: 25px;
    border-top: 1px solid #707070;
    padding-top: 20px
}

.brand_shop .btn-external {
    width: 250px;
    margin-top: 20px
}

@media screen and (min-width: 641px)and (max-width: 800px) {
    .brand_shop .btn-external {
        margin: 20px 10px 0
    }
}

.brand_shop .shop__img {
    width: 100%;
    display: none;
    margin-bottom: 25px
}

.btn-external {
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    cursor: pointer;
    display: inline-block;
    border: 1px solid #707070;
    box-sizing: border-box;
    background: #fff;
    border-radius: 100vh;
    text-align: center;
    color: #000;
    padding: 12px 40px 13px;
    text-indent: -0.7em;
    line-height: 1.5
}

.btn-external-inner {
    line-height: 1;
    text-align: center;
    vertical-align: baseline;
    position: relative;
    display: inline-block;
    font-size: .9rem
}

.btn-external-inner::before {
    content: "";
    position: absolute;
    background: #707070;
    border-radius: 50%;
    transition: all;
    top: 0px;
    right: -28px;
    bottom: 0;
    width: 14px;
    height: 14px
}

.btn-external-inner::after {
    content: "";
    position: absolute;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    opacity: 1;
    transform: rotate(45deg);
    transition: all .15s;
    top: 5px;
    right: -22px;
    bottom: 0;
    width: 4px;
    height: 4px
}

.btn-external--fillblack {
    border: none;
    background-color: #000;
    color: #fff
}

.btn-external--fillblack .btn-external-inner::before {
    background: #fff
}

.btn-external--fillblack .btn-external-inner::after {
    border-color: #fff
}

.btn-external--fillgray {
    border: none;
    background-color: #707070;
    color: #fff
}

.btn-external--fillgray .btn-external-inner::before {
    background: #fff
}

.btn-external--fillgray .btn-external-inner::after {
    border-color: #707070
}

.btn-external--fillgreen {
    border: none;
    background-color: #4aa53a;
    color: #fff
}

.btn-external--fillgreen .btn-external-inner::before {
    background: #fff
}

.btn-external--fillgreen .btn-external-inner::after {
    border-color: #4aa53a
}

.btn-external:hover {
    opacity: .5
}

.btn-external:hover::after {
    opacity: .5
}

@media(min-width: 1090px) {
    .store__inner {
        width: 980px !important
    }

    .shop__inner {
        width: 980px !important
    }
}

.accordion-area {
    list-style: none;
    width: 100%;
    margin: 0 auto
}

.accordion-area section {
    border: 1px solid #ccc
}

.accordion-area .title {
    position: relative;
    cursor: pointer;
    font-size: .75rem;
    transition: all .5s ease
}

.accordion-area .title.close::before {
    transform: rotate(45deg)
}

.accordion-area .title.close::after {
    transform: rotate(-45deg)
}

.accordion-area .accordion-box {
    display: none;
    background: rgba(255, 255, 255, .6);
    margin: 0;
    padding: 20px;
    font-size: .75rem
}

.accordion-area .accordion-box ul {
    list-style: none
}

.accordion-area .accordion-box ul li {
    margin: 0
}

.accordion-area .accordion-box ul li span {
    font-weight: bold
}

.accordion-area .accordion-box ul li.title {
    margin: 0
}

.accordion-area .accordion-box2 {
    margin-top: 20px
}

.icon__circle__right {
    margin-left: 3px
}

.icon__circle__right:before {
    vertical-align: bottom
}

.store-info__etc {
    margin-bottom: 10px !important
}

@-webkit-keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3)
    }

    50% {
        opacity: 1
    }
}

@-moz-keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3)
    }

    50% {
        opacity: 1
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3)
    }

    50% {
        opacity: 1
    }
}

@-webkit-keyframes zoomOut {
    from {
        opacity: 1
    }

    65% {
        opacity: 0;
        -webkit-transform: scale3d(0.6, 0.6, 0.6)
    }

    to {
        opacity: 0
    }
}

@-moz-keyframes zoomOut {
    from {
        opacity: 1
    }

    65% {
        opacity: 0;
        transform: scale3d(0.6, 0.6, 0.6)
    }

    to {
        opacity: 0
    }
}

@keyframes zoomOut {
    from {
        opacity: 1
    }

    65% {
        opacity: 0;
        transform: scale3d(0.6, 0.6, 0.6)
    }

    to {
        opacity: 0
    }
}

@-webkit-keyframes fadeIn {
    0% {
        display: none;
        opacity: 0
    }

    1% {
        display: block;
        opacity: 0
    }

    100% {
        display: block;
        opacity: 1
    }
}

@-moz-keyframes fadeIn {
    0% {
        display: none;
        opacity: 0
    }

    1% {
        display: block;
        opacity: 0
    }

    100% {
        display: block;
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        display: none;
        opacity: 0
    }

    1% {
        display: block;
        opacity: 0
    }

    100% {
        display: block;
        opacity: 1
    }
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0)
    }
}

@-moz-keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(40px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(40px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes right-to-center {
    0% {
        opacity: 0;
        transform: translateX(30px)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes left-to-center {
    0% {
        opacity: 0;
        transform: translateX(-30px)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes center-to-left {
    0% {
        opacity: 1;
        transform: translateX(0)
    }

    100% {
        opacity: 0;
        transform: translateX(-30px)
    }
}

@keyframes center-to-right {
    0% {
        opacity: 1;
        transform: translateX(0)
    }

    100% {
        opacity: 0;
        transform: translateX(30px)
    }
}

@keyframes bounce {
    0% {
        transform: scale(1)
    }

    30% {
        transform: scale(1.4)
    }

    60% {
        transform: scale(1.2)
    }

    100% {
        transform: scale(1.3)
    }
}

.billboard {
    width: 100%;
    height: auto
}

.billboard img {
    width: 100%;
    height: auto
}

.__image {
    width: 100%;
    height: auto
}

.lazyload {
    opacity: 0;
    transition: opacity 1s
}

.lazyload.loaded {
    opacity: 1
}

.__wb {
    white-space: normal
}

.__wb span {
    display: inline-block;
    white-space: nowrap
}

.section--blockquote {
    position: relative;
    height: 600px;
    background-color: #fbfbfb
}

.section--blockquote .viewport {
    position: static
}

.section--blockquote .blockquotes {
    padding-top: 6rem;
    opacity: 0;
    transition: opacity 2s
}

.section--blockquote .blockquotes.slick-initialized {
    opacity: 1
}

.section--blockquote .blockquotes.slick-slider {
    position: static
}

.section--blockquote .blockquotes .slick-prev {
    margin: 0
}

.section--blockquote .blockquotes .slick-prev:before {
    content: ""
}

.section--blockquote .blockquotes .slick-next {
    margin: 0
}

.section--blockquote .blockquotes .slick-next:before {
    content: ""
}

.section--blockquote .blockquotes .slick-dots {
    position: static
}

.section--blockquote .__article {
    position: relative;
    min-height: 400px;
    padding: 4rem 0 30px;
    display: flex;
    align-items: center
}

.section--blockquote .__article+.__article::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 200px;
    height: 1px;
    margin: 0 auto;
    background: #999;
    display: block;
    content: ""
}

.section--blockquote .blockquote {
    position: relative;
    width: 100%;
    padding: 4rem 6rem;
    font-size: .8rem;
    text-align: right;
    line-height: 1.4;
    opacity: 1;
    transition-property: opacity;
    transition-delay: .3s;
    transition-duration: .5s
}

.section--blockquote .blockquote:before,
.section--blockquote .blockquote:after {
    position: absolute;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 3rem;
    color: #ccc
}

.section--blockquote .blockquote:before {
    top: 0;
    left: 2rem;
    content: ""
}

.section--blockquote .blockquote:after {
    right: 2rem;
    content: ""
}

.section--blockquote .blockquote blockquote {
    margin-bottom: .5rem;
    font-size: 2rem;
    text-align: center
}

.section--blockquote .blockquote .__media,
.section--blockquote .blockquote .__link {
    color: #ccc;
    outline: none;
    word-break: break-all
}

.btn--pagemap {
    width: 90px;
    height: 32px;
    margin-right: 0;
    background-color: #4ba53a;
    color: #fff;
    line-height: 32px;
    border-radius: 16px
}

.btn--pagemap:hover {
    background-color: #2b9417
}

.btn--dealer {
    width: 90px;
    height: 32px;
    margin-left: 10px;
    color: #4ba53a;
    line-height: 31px;
    border: solid 1px #4ba53a;
    border-radius: 16px
}

.btn--dealer:hover {
    opacity: .8
}

.pagemap--desktop {
    width: 100%;
    height: 90px
}

.pagemap--desktop .pagemap__content {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    width: 90%;
    max-width: 1032px;
    margin: 0 auto;
    text-align: center;
    font-size: .8rem
}

.pagemap--desktop .pagemap__main {
    height: 90px;
    overflow: hidden;
    display: flex;
    list-style: none;
    padding-left: .6rem
}

.pagemap--desktop .pagemap__content__item {
    flex: none
}

.pagemap--desktop .pagemap__content__item>a {
    color: #333;
    text-decoration: none
}

.pagemap--desktop .pagemap__content__item>a:before {
    display: inline-block;
    position: relative;
    height: 100%;
    margin-right: 1.4rem
}

.pagemap--desktop .pagemap__content__item.__current>a {
    color: #4ba53a
}

.pagemap--desktop .pagemap__dropdown {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 70px;
    text-align: center;
    cursor: pointer
}

.pagemap--desktop .pagemap__dropdown.hidden {
    display: none
}

.pagemap--desktop .pagemap__dropdown__btn {
    position: relative;
    display: block;
    height: 70px;
    text-align: center
}

.pagemap--desktop .pagemap__dropdown__btn:before {
    display: block;
    position: absolute;
    top: 67%;
    right: 70%;
    width: 100%;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    text-align: center;
    font-size: 1.4rem;
    color: #666
}

.pagemap--desktop .pagemap__dropdown__content {
    z-index: 880;
    display: none;
    position: absolute;
    top: 85px;
    left: -98px;
    width: 180px;
    background-color: #fff;
    box-shadow: 0 19px 38px rgba(0, 0, 0, .3), 0 15px 12px rgba(0, 0, 0, .22);
    border-radius: 4px;
    list-style: none;
    opacity: 0;
    animation-duration: .2s;
    animation-name: fadeIn
}

.pagemap--desktop .pagemap__dropdown__content:before {
    content: "";
    position: absolute;
    top: -18px;
    left: 50%;
    width: 0;
    height: 0;
    border: 10px solid rgba(0, 0, 0, 0);
    border-bottom: 10px solid #fff;
    z-index: 9997;
    margin-left: -10px
}

.pagemap--desktop .pagemap__dropdown:hover .pagemap__dropdown__content {
    opacity: 1;
    display: block
}

.pagemap--desktop .pagemap__dropdown:hover .pagemap__dropdown__content li {
    padding: 0 0 11px 0
}

.pagemap--desktop .pagemap__dropdown__content .pagemap__content__item {
    height: 3rem;
    line-height: 3rem
}

.pagemap--desktop .pagemap__dropdown__content .pagemap__content__item:hover a {
    color: #4ba53a
}

.pagemap--desktop .pagemap__btns {
    display: flex;
    align-items: flex-start;
    height: 90px;
    margin-left: 20px;
    padding-top: 25px
}

.pagemap--desktop.__header {
    position: absolute;
    top: 0;
    z-index: 888;
    background-color: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, .2)
}

.pagemap--desktop.__header .pagemap__main {
    width: 100%;
    align-items: flex-end
}

.pagemap--desktop.__header .pagemap__content__item {
    padding: 0 1.6rem 11px 0
}

.pagemap--desktop.__footer {
    height: 70px
}

.pagemap--desktop.__footer .pagemap__main {
    height: 70px
}

.pagemap--desktop.__footer .pagemap__content {
    height: 70px;
    max-width: 890px !important;
    width: 100%;
    align-items: center
}

.pagemap--desktop.__footer .pagemap__content__item {
    padding: 0 1rem
}

.main {
    padding-top: 90px
}

.sp {
    display: none
}

.pagemap--desktop.__header .pagemap__content--logo {
    width: 298px
}

.slick-dots li {
    width: 20px
}

.slick-dots li button {
    width: 20px
}

.slick-dots li button:before {
    font-size: 18px
}

.gallery {
    height: auto;
    padding: 0 2rem 100px
}

.gallery .__content {
    padding-bottom: 2.5rem
}

.gallery .gallery__content {
    display: grid;
    gap: 3.125rem;
    grid-template: "A A B C" "A A D E"
}

@media screen and (max-width: 768px) {
    .gallery .gallery__content {
        margin: -1.75%
    }
}

.gallery .gallery__content figcaption {
    display: none
}

.gallery .gallery__content figure[data-area=A] {
    grid-area: A
}

.gallery .gallery__content figure[data-area=B] {
    grid-area: B
}

.gallery .gallery__content figure[data-area=C] {
    grid-area: C
}

.gallery .gallery__content figure[data-area=D] {
    grid-area: D
}

.gallery .gallery__content figure[data-area=E] {
    grid-area: E
}

.gallery .gallery__content figure[data-disabled] {
    display: none
}

.gallery .gallery__content figure .__clip {
    width: 100%;
    height: auto
}

.gallery__h {
    font-size: 2.375rem;
    line-height: 1.2
}

.pswp__caption {
    left: 0;
    right: 0;
    max-width: 800px;
    margin: 0 auto;
    padding: 1rem 0;
    font-size: .8rem;
    text-align: center
}

.pswp__caption .pswp__caption__center {
    max-width: 800px;
    text-align: center
}

.pswp__caption .pswp__caption__center .__caption {
    padding: 0 1.5rem
}

.pswp__caption .pswp__caption__center .__caption:before {
    position: relative;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #ccc;
    top: -0.2rem;
    left: -0.5rem;
    content: ""
}

.pswp__caption .pswp__caption__center .__caption .__user {
    display: block;
    text-align: center;
    color: #666
}

.gallery_selector_wrapper {
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
    max-width: 680px;
    margin: 0 auto 35px
}

.gallery_selector_wrapper>:not(:last-child) {
    margin-right: 18px
}

.gallery_selector_wrapper .gallery_selector {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 146px;
    height: 50px;
    border: 2px solid #707070;
    border-radius: 25px;
    font-size: 14.4px;
    font-size: .8rem;
    padding: 5px;
    color: #646464;
    cursor: pointer;
    transition: all .3s;
    margin-bottom: 24px
}

.gallery_selector_wrapper .gallery_selector:hover {
    border-color: #666;
    color: #666
}

.gallery_selector_wrapper .gallery_selector.__current {
    background-color: #707070;
    border-color: #707070;
    color: #fff;
    cursor: default
}

.modal.modal--buynow {
    margin: 5%
}

.buynow {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.buynow .__step {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 5% 5% 0 5%;
    transition: visibility .5s;
    animation: center-to-right .5s 0s backwards
}

.buynow .__step.visible {
    visibility: visible;
    opacity: 1;
    transition: visibility .7s;
    animation: right-to-center .5s .2s backwards;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
}

.buynow .__step.move-left {
    animation: center-to-left .5s 0s backwards
}

.buynow .__step.visible.back {
    animation: left-to-center .5s .2s backwards
}

.buynow .__step .__title {
    margin-bottom: 54px;
    margin-bottom: 3rem;
    text-align: center;
    font-size: 45px;
    font-size: 2.5rem
}

.buynow .__step .__sku_wrapper {
    margin: 0 auto;
    text-align: center;
    font-size: 0
}

@media only screen and (max-width: 1096px) {
    .buynow .__step .__sku_wrapper {
        max-width: 500px
    }
}

.buynow .__step .__sku_wrapper .__sku {
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    max-width: 280px;
    min-height: 560px;
    margin: 0 9px 18px;
    margin: 0 .5rem 1rem;
    padding: 36px 27px;
    padding: 2rem 1.5rem;
    border: 2px solid #ededed;
    border-radius: 5px;
    font-size: 18px;
    font-size: 1rem;
    text-align: center;
    cursor: pointer;
    transition: all .3s
}

.buynow .__step .__sku_wrapper .__sku:not(.__out_of_stock):hover {
    border-color: #fff;
    z-index: 1;
    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19)
}

.buynow .__step .__sku_wrapper .__sku.selected {
    border-color: #4ba53a
}

.buynow .__step .__sku_wrapper .__sku span {
    display: block;
    line-height: 1.4
}

.buynow .__step .__sku_wrapper .__sku .__code {
    color: #999
}

.buynow .__step .__sku_wrapper .__sku .price {
    font-size: 36px;
    font-size: 2rem;
    padding: 23.4px 0 0 36px;
    padding: 1.3rem 0 0 2rem;
    border-top: 2px solid #ededed
}

.buynow .__step .__sku_wrapper .__sku .price:before {
    font-size: .6em
}

.buynow .__step .__sku_wrapper .__sku .price:after {
    font-size: .4em
}

.buynow .__step .__sku_wrapper .__sku .__oos_caption {
    margin-top: 9px;
    margin-top: .5rem;
    font-size: 14.4px;
    font-size: .8rem;
    text-align: left;
    line-height: 1.4;
    color: #999
}

.buynow .__step .__sku_wrapper .__sku .radio {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    height: 30px;
    width: 30px;
    margin: 18px auto;
    margin: 1rem auto
}

.buynow .__step .__sku_wrapper .__sku .radio::after,
.buynow .__step .__sku_wrapper .__sku .radio::before {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    height: 100%;
    width: 100%;
    transform: translateZ(0);
    backface-visibility: hidden
}

.buynow .__step .__sku_wrapper .__sku .radio::before {
    border: 2px solid #ddd;
    border-radius: 50%;
    background: #fff;
    transition: background-color .3s, transform .3s, border-color .3s
}

.buynow .__step .__sku_wrapper .__sku .radio::after {
    background: url(/_theme/img/svg/icon-check.svgz) no-repeat center center
}

.buynow .__step .__sku_wrapper .__sku.selected .radio::before {
    background: #4ba53a;
    border-color: #4ba53a;
    transform: scale(1.3);
    animation: bounce .5s
}

.buynow .__step .__sku_wrapper .__sku.selected .__deliv_date {
    color: #4ba53a
}

.buynow .__step .__sku_wrapper .__sku.__out_of_stock {
    cursor: default
}

.buynow .__step .__sku_wrapper .__sku.__out_of_stock:hover {
    border-color: #ededed
}

.buynow .__step .__sku_wrapper .__sku.__out_of_stock .price {
    color: #999
}

.buynow .__step .__sku_wrapper .__sku.__out_of_stock .__deliv_date {
    color: #fb4b60
}

.buynow .__step .__option {
    max-width: 872px;
    margin: 0 auto
}

.buynow .__step .__option span {
    display: block
}

.buynow .__step .__option .slick-dotted.slick-slider {
    margin-bottom: 108px;
    margin-bottom: 6rem
}

.buynow .__step .__option .slick-prev,
.buynow .__step .__option .slick-next {
    margin: 0
}

.buynow .__step .__option .__name {
    margin-bottom: 18px;
    margin-bottom: 1rem;
    font-size: 27px;
    font-size: 1.5rem;
    line-height: 1.2
}

.buynow .__step .__option .price {
    font-size: 36px;
    font-size: 2rem;
    line-height: 1
}

.buynow .__step .__option .price:before {
    font-size: .6em
}

.buynow .__step .__option .price:after {
    font-size: .4em
}

.buynow .__step .__option .__deliv_date {
    color: #999
}

.buynow .__step .__option .__column {
    float: left;
    width: 45%;
    margin-right: 5%
}

.buynow .__step .__option .radio_group {
    width: 100%;
    position: relative;
    cursor: pointer
}

.buynow .__step .__option .radio_group .__label {
    position: absolute;
    top: 0;
    left: 50px
}

.buynow .__step .__option .radio {
    box-sizing: border-box;
    position: relative;
    display: block;
    height: 30px;
    width: 30px;
    margin: 18px 0;
    margin: 1rem 0
}

.buynow .__step .__option .radio::after,
.buynow .__step .__option .radio::before {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    height: 100%;
    width: 100%;
    transform: translateZ(0);
    backface-visibility: hidden
}

.buynow .__step .__option .radio::before {
    border: 2px solid #ddd;
    border-radius: 50%;
    background: #fff;
    transition: background-color .3s, transform .3s, border-color .3s
}

.buynow .__step .__option .radio::after {
    background: url(/_theme/img/svg/icon-check.svgz) no-repeat center center
}

.buynow .__step .__option .radio.selected::before {
    background: #4ba53a;
    border-color: #4ba53a;
    transform: scale(1.3);
    animation: bounce .5s
}

.buynow .__step .__option .__description {
    padding-top: 36px;
    padding-top: 2rem
}

.buynow .__step .__option .__description p {
    margin-bottom: 18px;
    margin-bottom: 1rem
}

.buynow .__step .__option .__description .__basic {
    width: 100%;
    margin-bottom: 36px;
    margin-bottom: 2rem;
    border-collapse: collapse;
    border-spacing: 0;
    text-align: left;
    font-size: 16.2px;
    font-size: .9rem;
    line-height: 1.5
}

.buynow .__step .__option .__description .__basic th,
.buynow .__step .__option .__description .__basic td {
    padding: 9px 0;
    padding: .5rem 0;
    border-bottom: 1px solid #ebebeb;
    vertical-align: top
}

.buynow .__step .__option .__description .__basic th {
    width: 160px
}

.buynow .__step .__option .__description .note {
    margin-top: 18px;
    margin-top: 1rem
}

.buynow__footer {
    position: absolute;
    bottom: -90px;
    width: 100%;
    height: 90px;
    padding: 20px 0;
    background-color: #4ba53a;
    list-style: none;
    color: #fff;
    transition: all .3s;
    z-index: 600
}

.buynow__footer.visible {
    bottom: 0
}

.buynow__footer li {
    position: absolute;
    box-sizing: border-box;
    display: none;
    visibility: hidden;
    opacity: 0;
    height: 50px;
    border: 2px solid #fff;
    border-radius: 25px;
    line-height: 46px;
    cursor: pointer
}

.buynow__footer li.visible {
    display: inline;
    visibility: visible;
    opacity: 1
}

.buynow__footer li.visible:hover {
    background-color: #2b9417
}

.buynow__footer li.next {
    right: 7%;
    display: block;
    padding: 0 54px;
    padding: 0 3rem;
    text-align: center
}

.buynow__footer li.prev {
    left: 7%;
    width: 50px
}

.buynow__footer li.prev:before {
    padding-left: 11px;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    font-size: 20px
}

.overview {
    padding: 6.25rem 2rem 1.875rem;
    background-color: #fff
}

.overview .slick-slide {
    height: 100%;
    opacity: 1;
    transition: opacity .5s ease-in-out
}

.overview .slick-slide.slick-current {
    opacity: 1
}

.overview .slick-dots {
    padding: 0;
    line-height: 1;
    margin-top: -4.6875rem
}

.overview .slick-dots li {
    margin: 0 2px
}

.overview .slick-dots li button:before {
    font-size: .25rem;
    color: #999;
    opacity: 1
}

.overview .slick-dots li.slick-active button:before {
    font-size: .5rem;
    color: #000;
    opacity: 1
}

.overview .viewport {
    max-width: 980px;
    margin: 0 auto
}

.overview .buy-product {
    display: flex;
    gap: 4.375rem;
    align-items: center
}

.overview .buy-product__carousel {
    width: 54%;
    max-width: 460px;
    margin: 0 auto
}

.overview .buy-product__carousel .carousel-slider .carousel-item {
    position: relative
}

.overview .buy-product__carousel .carousel-slider .carousel-item img {
    width: 100%;
    max-width: 415px;
    margin: 0 auto;
    height: auto;
    display: none
}

.overview .buy-product__carousel .carousel-slider .carousel-item img.__current {
    display: block
}

.overview .buy-product__carousel .slick-slider {
    margin-bottom: 0
}

.overview .buy-product__carousel .slick-arrow {
    position: absolute;
    display: block;
    height: 16px;
    width: 16px;
    line-height: 0;
    font-size: 0;
    cursor: pointer;
    background: rgba(0, 0, 0, 0);
    color: rgba(0, 0, 0, 0);
    top: 48%;
    transform: translate(0, -50%);
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    z-index: 500
}

.overview .buy-product__carousel .slick-arrow.slick-prev {
    left: 0
}

.overview .buy-product__carousel .slick-arrow.slick-prev:before {
    content: "";
    font-size: 1.875rem;
    color: #313131;
    opacity: .5
}

.overview .buy-product__carousel .slick-arrow.slick-next {
    right: 1rem
}

.overview .buy-product__carousel .slick-arrow.slick-next:before {
    content: "";
    font-size: 1.875rem;
    color: #313131;
    opacity: .5
}

.overview .buy-product__detail {
    width: 46%;
    margin-top: .75rem
}

.overview .buy-product__title .img {
    width: 100%;
    max-width: 450px;
    height: auto;
    display: block
}

.overview .buy-product__text {
    font-size: 1rem;
    line-height: 1.75;
    margin-top: 1.5625rem
}

.overview .buy-product__colors {
    margin-top: 1.25rem;
    margin-left: .3125rem
}

.overview .buy-product__colors .color-selector {
    display: flex;
    gap: 15px
}

.overview .buy-product__colors .color-selector .color-ball {
    width: .75rem;
    height: .75rem;
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    transition: transform .3s
}

.overview .buy-product__colors .color-selector .color-ball:hover {
    transform: scale(1.1)
}

.overview .buy-product__colors .color-selector .color-ball.black {
    background: linear-gradient(to right, #000 0%, #000 50%, #000 50%, #000 100%);
    border: 1px solid #000
}

.overview .buy-product__colors .color-selector .color-ball.black.active {
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px #000
}

.overview .buy-product__colors .color-selector .color-ball.white {
    background: linear-gradient(to right, #fff 0%, #fff 50%, #fff 50%, #fff 100%);
    border: 1px solid #707070
}

.overview .buy-product__colors .color-selector .color-ball.white.active {
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px #707070
}

.overview .buy-product__colors .color-text {
    font-size: .875rem;
    margin-top: 1.5625rem
}

.overview .buy-product .the-price {
    margin-top: 1.25rem
}

.overview .buy-product .the-price .price {
    font-size: 2rem;
    line-height: 1.2
}

.overview .buy-product .the-price .price:before {
    font-size: .6em
}

.overview .buy-product .the-price .price:after {
    font-size: .4em
}

.overview .buy-product .buy-btn .btn {
    display: inline-block;
    background-color: #4ba53a;
    color: #fff;
    font-size: .8rem;
    padding: .3125rem 2rem;
    border-radius: 16px;
    margin-top: 1.875rem;
    margin-inline: auto;
    width: inherit;
    transition: padding .3s ease-in-out
}

.overview .buy-product .buy-btn .btn:hover {
    padding: .3125rem 2.5rem
}

.banner-compare {
    margin: 4.375rem auto 0
}

.banner-compare__link {
    display: block;
    transition: opacity .3s ease-in-out;
    max-width: 980px;
    width: 90%;
    margin: auto
}

.banner-compare__link:hover {
    opacity: .8
}

.banner-compare__img {
    max-width: 100%;
    height: auto;
    display: block
}

.info {
    margin: 5.625rem auto;
    max-width: 980px;
    width: 90%
}

.info .__contents ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    gap: 36px
}

.info .__contents ul li {
    width: 50%;
    max-width: 50%
}

.info .__contents ul li p {
    font-size: 1rem;
    padding-bottom: 3px
}

.info .__contents ul li p span {
    text-decoration: underline
}

@media only screen and (max-width: 1080px) {
    .info .__contents ul li p br {
        display: none
    }
}

.info .__contents ul li .info__text {
    margin-top: 20px
}

.info .__contents ul li .supplement {
    font-size: 14px
}

.info .__contents ul .__image_info-00 {
    margin-right: 0
}

.info .__contents ul .__image_info-00 .__limited {
    display: block;
    position: absolute;
    top: 40px;
    left: -136px;
    transform: rotate(45deg);
    width: 400px;
    padding: .2rem 0;
    background-color: rgba(75, 165, 58, .9);
    text-align: center;
    color: #fff
}

@media only screen and (max-width: 880px) {
    .info .__contents ul .__image_info-00 .__limited {
        top: auto;
        bottom: 40px;
        left: auto;
        right: -136px
    }
}

.cta_online-service {
    margin-top: 4.375rem
}

.cta_headline {
    margin-top: 2.25rem;
    width: 100%
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .__product_logo--primary {
        width: 186px !important;
        height: 16.5px !important;
        display: inline-block;
        margin-top: .8rem
    }

    .__product_logo--pro {
        width: 221px;
        height: 16px !important;
        display: inline-block;
        margin-top: .8rem
    }
}

.sp-only {
    display: none
}

.billboard-index {
    position: relative
}

.billboard-index .img {
    height: auto;
    display: block;
    width: 100%
}

.billboard-index:before {
    content: "";
    background-image: url("/jp/range-s/img/index/desktop/billboard-message.svg?20250622");
    background-repeat: no-repeat;
    display: block;
    left: 6.484375vw;
    position: absolute;
    bottom: 3.515625vw;
    background-size: 43.75vw 6.40625vw;
    width: 43.75vw;
    height: 6.40625vw;
    z-index: 10
}

.section--index .only-sp {
    display: none
}

.section--index.section--about {
    height: auto;
    text-align: center;
    padding: 2.5rem 2rem 6.875rem
}

@media only screen and (max-width: 1279px) {
    .section--index.section--about {
        padding: 2.5rem 2rem 4.6875rem
    }
}

.section--index.section--about .viewport {
    margin-top: .625rem
}

.section--index.section--about .product-img {
    max-width: 611px;
    margin-inline: auto
}

.section--index.section--about .img {
    max-width: 100%;
    height: auto;
    display: block;
    width: auto;
    margin-inline: auto
}

.section--index.section--about .about__announce {
    margin-top: 1.875rem
}

.section--index.section--about .about__announce span {
    font-size: 1rem;
    padding: .5625rem 2rem;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333
}

.section--index.section--about .about__logo {
    margin-top: 2.1875rem
}

.section--index.section--about .about__label {
    margin-top: 1.5625rem;
    display: inline-block;
    font-size: .875rem;
    padding: .125rem 1.5rem;
    border: 1px solid #525252;
    border-radius: 2px;
    color: #525252
}

.section--index.section--about .about__title {
    font-size: 2.8125rem;
    line-height: 1.6;
    margin-top: 3.5625rem
}

.section--index.section--about .about__text {
    font-size: 1.125rem;
    line-height: 2;
    margin-top: 1.0625rem;
    max-width: 645px;
    margin-inline: auto;
    text-align: left
}

.section--index.section--about .the-price {
    margin-top: 2.1875rem
}

.section--index.section--about .the-price .price {
    margin-left: 1.25rem;
    font-size: 2rem;
    line-height: 1.2
}

.section--index.section--about .the-price .price:before {
    font-size: .6em
}

.section--index.section--about .the-price .price:after {
    font-size: .4em
}

.section--index.section--about .buy-btn {
    margin-top: .9375rem
}

.section--index.section--about .buy-btn .btn {
    display: inline-block;
    background-color: #4ba53a;
    color: #fff;
    font-size: .8rem;
    padding: .3125rem 2rem;
    border-radius: 16px;
    margin-inline: auto;
    transition: padding .3s ease-in-out
}

.section--index.section--about .buy-btn .btn:hover {
    padding: .3125rem 2.5rem
}

.section--index.section--about .information {
    max-width: 820px;
    margin-inline: auto;
    background-color: #f8f8f8;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: .75rem .625rem .75rem 3.125rem;
    margin-top: 3.75rem
}

.section--index.section--about .information__left {
    display: flex;
    align-items: center;
    gap: 25px
}

.section--index.section--about .information__title {
    font-family: "bodoni-pt-variable", sans-serif;
    font-weight: 600;
    font-size: 1.125rem;
    color: #535353
}

.section--index.section--about .information__text {
    font-size: .875rem;
    color: #535353;
    text-align: left
}

.section--index.section--about .information__right {
    display: flex;
    align-items: center;
    gap: 1.875rem
}

.section--index.section--about .information__counter {
    font-size: .875rem;
    color: #535353;
    letter-spacing: .05em
}

.section--index.section--about .information__more {
    display: inline-block;
    padding: .25rem 2.6875rem;
    background-color: #b7afaf;
    color: #fff;
    text-decoration: none;
    font-size: .875rem;
    transition: opacity .3s ease-in-out
}

.section--index.section--about .information__more:hover {
    opacity: .75
}

.section--index.section--about .holiday-banner {
    margin-top: 7.5rem
}

.section--index.section--about .holiday-banner .link {
    transition: opacity .3s ease-in-out
}

.section--index.section--about .holiday-banner .link:hover {
    opacity: .8
}

.section--index.section--divide {
    padding: 0
}

.section--index.section--divide .img {
    width: 100%;
    height: auto;
    display: block
}

.section--index.section--features {
    padding: 7.5rem 0 10.125rem
}

@media only screen and (max-width: 1279px) {
    .section--index.section--features {
        padding: 5.3125rem 0 7.5rem
    }
}

.section--index.section--features .viewport {
    max-width: 1920px
}

.section--index.section--features .features__title {
    text-align: center;
    font-size: 3.875rem;
    color: #d95732;
    line-height: 1.2903225806;
    font-family: "bodoni-pt-variable", sans-serif;
    font-weight: 600
}

.section--index.section--features .lyt .slick-dots {
    padding: 0;
    line-height: 1;
    margin-top: 1.5625rem
}

.section--index.section--features .lyt .slick-dots li {
    margin: 0 2px
}

.section--index.section--features .lyt .slick-dots li button:before {
    font-size: .25rem;
    color: #999;
    opacity: 1
}

.section--index.section--features .lyt .slick-dots li.slick-active button:before {
    font-size: .5rem;
    color: #000;
    opacity: 1
}

.section--index.section--features .lyt .slick-arrow {
    width: 30px;
    height: 30px;
    margin: 0;
    background-color: rgba(225, 225, 225, .7);
    border-radius: 50%
}

.section--index.section--features .lyt .slick-arrow:before {
    font-size: 1.875rem;
    color: #313131;
    opacity: .5
}

@media only screen and (min-width: 1001px) {
    .section--index.section--features .lyt {
        display: flex;
        flex-direction: column;
        gap: 98px;
        margin-top: 3.75rem
    }

    .section--index.section--features .lyt .lyt-item {
        display: flex;
        align-items: center;
        gap: 88px;
        margin-right: 5rem
    }

    .section--index.section--features .lyt .lyt-item--reverse {
        flex-direction: row-reverse;
        margin-right: 0;
        margin-left: 5rem
    }

    .section--index.section--features .lyt .lyt-item--reverse .video {
        height: auto;
        width: 100vw;
        max-width: 100%
    }

    .section--index.section--features .lyt .lyt-item__img {
        max-width: 950px;
        height: auto;
        margin-bottom: 0;
        width: clamp(29.125rem, -30.14rem + 98.78vw, 59.375rem)
    }

    .section--index.section--features .lyt .lyt-item__img .img {
        height: auto;
        display: block;
        max-width: 100%
    }

    .section--index.section--features .lyt .lyt-item__content {
        width: 24.609375vw;
        max-width: 600px;
        min-width: 320px
    }

    .section--index.section--features .lyt .lyt-item__title {
        font-size: 2.8125rem;
        line-height: 1.3333333333
    }

    .section--index.section--features .lyt .lyt-item__text {
        font-size: 1rem;
        line-height: 1.75;
        margin-top: 1.875rem
    }

    .section--index.section--features .lyt .lyt-item__btn {
        display: inline-block;
        text-decoration: none;
        color: #fff;
        font-size: .875rem;
        text-align: center;
        background-color: #555;
        padding: .625rem 0;
        width: 12.5rem;
        border-radius: 40px;
        opacity: .75;
        margin-top: 2.1875rem;
        transition: width .3s ease-in-out
    }

    .section--index.section--features .lyt .lyt-item__btn:hover {
        width: 13.75rem
    }
}

@media only screen and (max-width: 1000px) {
    .section--index.section--features .lyt {
        display: flex;
        flex-direction: column;
        gap: 7.5rem;
        margin-top: 3.75rem
    }

    .section--index.section--features .lyt .lyt-item {
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
        margin-right: 2rem
    }

    .section--index.section--features .lyt .lyt-item--reverse {
        margin-right: 0;
        margin-left: 2rem
    }

    .section--index.section--features .lyt .lyt-item--reverse .lyt-item__content {
        padding-left: 0;
        padding-right: 2rem
    }

    .section--index.section--features .lyt .lyt-item--reverse .video {
        height: auto;
        width: 100%;
        max-width: 100%
    }

    .section--index.section--features .lyt .lyt-item__img {
        height: auto
    }

    .section--index.section--features .lyt .lyt-item__img .img {
        height: auto;
        display: block;
        width: 100%;
        max-width: 100%
    }

    .section--index.section--features .lyt .lyt-item__content {
        padding-left: 2rem
    }

    .section--index.section--features .lyt .lyt-item__title {
        font-size: 2.8125rem;
        line-height: 1.3333333333
    }

    .section--index.section--features .lyt .lyt-item__title .only-pc {
        display: none
    }

    .section--index.section--features .lyt .lyt-item__text {
        font-size: 1rem;
        line-height: 1.75;
        margin-top: 1.25rem
    }

    .section--index.section--features .lyt .lyt-item__btn {
        display: inline-block;
        text-decoration: none;
        color: #fff;
        font-size: .875rem;
        text-align: center;
        background-color: #555;
        padding: .625rem 0;
        width: 12.5rem;
        border-radius: 40px;
        opacity: .75;
        margin-top: 1.875rem;
        transition: width .3s ease-in-out
    }

    .section--index.section--features .lyt .lyt-item__btn:hover {
        width: 13.75rem
    }
}

.section--index.section--features .btn-area {
    margin: 6.25rem 0 0;
    display: flex;
    justify-content: center;
    align-items: center
}

@media only screen and (max-width: 1279px) {
    .section--index.section--features .btn-area {
        margin: 5rem 0 0
    }
}

.section--index.section--features .btn-area .btn {
    display: inline-block;
    background-color: rgba(85, 85, 85, .75);
    color: #fff;
    font-size: .9rem;
    width: 170px;
    height: 45px;
    line-height: 45px;
    border-radius: 40px;
    margin-inline: auto;
    transition: width .3s ease-in-out
}

.section--index.section--features .btn-area .btn:hover {
    width: 190px
}

.section--index.section--modes {
    padding: 7.5rem 2rem 8.75rem;
    background-color: #f7f7f7
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes {
        padding: 5.3125rem 2rem 4.0625rem
    }
}

.section--index.section--modes .viewport {
    max-width: 1120px;
    margin: 0 auto
}

.section--index.section--modes .modes__title {
    text-align: center;
    font-size: 2.8125rem;
    line-height: 1.3333333333
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__title {
        text-align: left
    }
}

.section--index.section--modes .modes__title span {
    display: inline-block
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__title span {
        display: block
    }
}

.section--index.section--modes .modes__lead {
    text-align: center;
    font-size: 1rem;
    line-height: 1.75;
    margin-top: 1.875rem
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__lead {
        text-align: left
    }
}

.section--index.section--modes .modes__tabs {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 3.3125rem;
    list-style: none;
    padding: 0
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes .modes__tabs {
        margin-top: 1.375rem
    }
}

.section--index.section--modes .modes__tabs .modes__tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    position: relative;
    padding-bottom: .75rem;
    user-select: none;
    min-width: 115px;
    border-bottom: 2px solid #3c3c3c
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__tabs .modes__tab {
        min-width: 89px
    }
}

.section--index.section--modes .modes__tabs .modes__tab::after {
    content: "";
    background-image: url("/jp/range-s/img/index/desktop/active-icon.svg");
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
    margin: auto;
    width: 10px;
    height: 6px;
    opacity: 0;
    transition: opacity .2s ease-in-out
}

.section--index.section--modes .modes__tabs .modes__tab.is-active::after {
    opacity: 1
}

.section--index.section--modes .modes__tabs .modes__tab .modes__tab-label {
    margin-top: .75rem;
    margin-bottom: -0.625rem;
    font-size: .8rem;
    text-align: center
}

.section--index.section--modes .modes__tabs .modes__tab .modes__tab-label span {
    display: inline-block
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__tabs .modes__tab .modes__tab-label span {
        display: block
    }
}

.section--index.section--modes .modes__panels {
    margin-top: 5.9375rem;
    position: relative;
    transition: height .35s ease
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes .modes__panels {
        margin-top: 4.375rem
    }
}

.section--index.section--modes .modes__panels .modes__panel {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
    min-height: 500px
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes .modes__panels .modes__panel {
        min-height: 400px
    }
}

.section--index.section--modes .modes__panels .modes__panel.is-active {
    position: relative;
    opacity: 1;
    visibility: visible
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-inner {
    background: #fff;
    border: 1px solid #eee;
    padding: 3.125rem 3.125rem 3.125rem 4.0625rem;
    display: flex;
    align-items: center;
    gap: 65px
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes .modes__panels .modes__panel .modes__panel-inner {
        padding: 1.5625rem
    }
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__panels .modes__panel .modes__panel-inner {
        flex-direction: column;
        gap: 40px;
        padding: 3.75rem 2.5rem 3.125rem
    }
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-basis: 80%;
    gap: 30px
}

@media only screen and (max-width: 1000px) {
    .section--index.section--modes .modes__panels .modes__panel .modes__panel-head {
        gap: 20px
    }
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-body {
    max-width: 540px
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-body .img {
    width: 100%;
    height: auto;
    display: block
}

.section--index.section--modes .modes__panels .modes__panel .modes__badge {
    max-width: 177px
}

@media only screen and (max-width: 1279px) {
    .section--index.section--modes .modes__panels .modes__panel .modes__badge {
        max-width: 147px
    }
}

.section--index.section--modes .modes__panels .modes__panel .modes__badge .img {
    width: 100%;
    height: auto;
    display: block
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-title {
    font-size: 2.25rem;
    line-height: 1.3333333333
}

.section--index.section--modes .modes__panels .modes__panel .modes__panel-text {
    font-size: 1rem;
    line-height: 2
}

.section--index .video_play {
    position: absolute;
    z-index: 400;
    color: #fff;
    margin: 0 0 0 -100px;
    text-align: center;
    text-decoration: none;
    transition: opacity 2s ease-out;
    opacity: 1;
    cursor: pointer;
    width: 110px;
    height: 110px
}

.section--index .video_play:after {
    position: absolute;
    top: -2px;
    left: -2px;
    display: block;
    content: "";
    background: #666;
    opacity: .56;
    width: 110px;
    height: 110px;
    border: 4px solid #fff;
    border-radius: 50%;
    z-index: 549;
    transform: scale(1);
    transition: transform .1s ease-out
}

.section--index .video_play.invisible {
    opacity: 0
}

.section--index .video_play span {
    position: relative;
    z-index: 551;
    display: block;
    height: 110px
}

.section--index .video_play span::before {
    content: url("../img/svg/ctrl__play.svgz");
    position: absolute;
    top: calc(50% - 24px);
    left: calc(50% - 17px);
    width: 42px;
    height: 42px;
    line-height: 44px;
    display: block;
    text-align: center;
    z-index: 550
}

.section--index .video_play span:after {
    content: "ビデオを再生";
    font-size: .6875rem;
    width: 110px;
    height: 11px;
    display: block;
    text-align: center;
    padding-top: 75px;
    text-decoration: none
}

.section--index .video_play:hover {
    text-decoration: none
}

.section--index .video_play:hover:after {
    transform: scale(1.1);
    box-shadow: 0px 10px 5px -4px rgba(41, 41, 41, .3)
}

.section--index .video_play.__imagebtn {
    background-size: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1)
}

.section--index .video_stop {
    position: absolute;
    z-index: 99;
    top: 2%;
    right: 2%;
    width: 50px;
    height: 50px;
    color: #666;
    cursor: pointer
}

.section--index .video_stop:hover {
    opacity: .8
}

.section--index .video_stop::after {
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    font-size: 54px;
    font-size: 3rem
}

.section--index .modal-bg {
    background: rgba(0, 0, 0, .8);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    z-index: -100
}

.section--index .modal-bg.__visible {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    cursor: pointer;
    z-index: 900
}

.section--index .section_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: -99
}

.section--index .section_overlay.visible {
    opacity: 1;
    z-index: 901;
    transition: opacity .8s;
    pointer-events: all;
    cursor: pointer
}

.section--index .section_overlay video {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    cursor: default
}

.section--index .section_overlay_inner {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    height: 100%
}

.section--index.section--about__modal-outter {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, .5)
}

.section--index .section--about__modal-inner {
    max-width: 980px;
    width: 76.5625vw;
    height: fit-content;
    max-height: 685px;
    margin: 0 auto;
    background: #fff;
    position: absolute;
    inset: 0;
    margin: auto;
    overflow-y: scroll
}

@keyframes modalopen {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.section--index .section--about__modal-inner .round_btn {
    display: block;
    position: relative;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #acacac;
    transition: all 1s;
    position: sticky;
    top: 20px;
    right: 20px;
    margin-left: auto;
    cursor: pointer
}

.section--index .section--about__modal-inner .modal__content {
    padding: .9375rem 5rem 5rem
}

.section--index .section--about__modal-inner .round_btn::before,
.section--index .section--about__modal-inner .round_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 22px;
    background: #fff
}

.section--index .section--about__modal-inner .round_btn::before {
    transform: translate(-50%, -50%) rotate(45deg)
}

.section--index .section--about__modal-inner .round_btn::after {
    transform: translate(-50%, -50%) rotate(-45deg)
}

.section--index .section--about__modal-inner .round_btn:hover {
    transform: rotate(180deg)
}

.section--index .section--about__modal-inner .modal__title {
    font-family: "bodoni-pt-variable", sans-serif;
    font-weight: 600;
    font-size: 2.1875rem;
    color: #535353
}

.section--index .section--about__modal-inner .lyt__list {
    margin-top: 1.6875rem;
    max-width: 820px
}

.section--index .section--about__modal-inner .lyt__item {
    display: flex;
    align-items: center;
    gap: 40px
}

.section--index .section--about__modal-inner .lyt__item:not(:first-child) {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    border-top: 1px solid #c7c7c7
}

@media only screen and (max-width: 940px) {
    .section--index .section--about__modal-inner .lyt__item {
        flex-direction: column
    }
}

.section--index .section--about__modal-inner .lyt__body {
    max-width: 280px;
    width: 100%
}

@media only screen and (max-width: 940px) {
    .section--index .section--about__modal-inner .lyt__body {
        max-width: unset
    }
}

.section--index .section--about__modal-inner .lyt__body .img {
    max-width: 100%;
    height: auto;
    display: block
}

@media only screen and (max-width: 940px) {
    .section--index .section--about__modal-inner .lyt__body .img {
        width: 100%
    }
}

.section--index .section--about__modal-inner .lyt__head {
    max-width: 500px;
    width: 100%
}

.section--index .section--about__modal-inner .lyt__text {
    font-size: 1rem;
    line-height: 2;
    color: #535353
}

.section--index .section--about__modal-inner .lyt__text a {
    color: #535353
}

.section--index .section--about__modal-inner .lyt__text span {
    display: block;
    font-size: .75rem;
    margin-top: .3125rem
}

.section--index #section--about__modal {
    animation-name: modalopen;
    animation-duration: .5s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    opacity: 0;
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: 10
}

.campaign {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .625rem 0;
    border-top: 1px solid #e59806;
    border-bottom: 1px solid #e59806;
    margin-top: 2.25rem;
    font-size: .9rem
}

.campaign .__news {
    display: inline-block;
    margin-right: 1rem;
    padding: .2rem 1rem;
    border-radius: 2px;
    background-color: #e59703;
    color: #fff;
    text-transform: uppercase
}

.campaign__txt a {
    font-size: .9375rem;
    line-height: 2.3333333333;
    color: #e59806;
    padding: .2rem 0;
    text-align: left;
    margin: 0 auto;
    display: block;
    text-decoration: none
}

.sp-only {
    display: none
}

.section--design {
    background-size: cover
}

.section--design.pc-only {
    display: block
}

.section--design.sp-only {
    display: none
}

.section--design .__is_tablet {
    display: none
}

@media only screen and (max-width: 1080px) {
    .section--design .__is_tablet {
        display: block
    }
}

.section--design .button {
    display: block;
    box-sizing: border-box;
    width: 180px;
    height: 45px;
    margin: 0 10px;
    border: 1px solid #000;
    border-radius: 20px;
    font-size: 1.125rem;
    line-height: 45px;
    text-decoration: none;
    color: #000;
    transition: all .2s
}

.section--design .section__title {
    font-size: 2.375rem;
    line-height: 1.4473684211
}

.section--design.section--00 {
    height: auto;
    padding: 0 0 8.125rem 0
}

.section--design.section--00 .page__title {
    font-size: 2.8125rem;
    letter-spacing: 0
}

.section--design.section--00 .viewport {
    max-width: 840px;
    text-align: center;
    padding: 5.4375rem 2rem 0
}

.section--design.section--00 .__content p {
    font-size: 1.125rem;
    line-height: 1.8
}

.section--design.section--01 {
    color: #fff;
    height: 53.125vw;
    min-height: 530px;
    padding: 10.625rem 6.25vw 6rem
}

.section--design.section--01.loaded {
    background-image: url("../img/design//desktop/section--01.jpg?20241118")
}

@media(-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    .section--design.section--01.loaded {
        background-image: url("../img/design//desktop/section--01@2x.jpg?20241118")
    }
}

.section--design.section--01 .viewport {
    display: flex;
    align-items: center;
    padding: 0;
    max-width: none
}

.section--design.section--01 .__content {
    width: 23.75rem;
    padding-bottom: 2.875rem
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {
    .section--design.section--01 .__content {
        max-width: clamp(16.25rem, 9.573rem + 16.67vw, 20rem)
    }
}

.section--design.section--01 .__content p {
    font-size: 1rem;
    line-height: 1.75
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {
    .section--design.section--01 .__content p {
        font-size: clamp(.875rem, .652rem + .56vw, 1rem)
    }
}

.section--design.section--01 .section__title {
    margin-bottom: 1.5rem
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {
    .section--design.section--01 .section__title {
        font-size: clamp(1.625rem, .957rem + 1.67vw, 2rem)
    }
}

.section--design.section--02,
.section--design.section--03 {
    position: relative;
    overflow: visible;
    height: auto;
    padding: 0
}

.section--design.section--02.--reverse .viewport,
.section--design.section--03.--reverse .viewport {
    justify-content: flex-end
}

.section--design.section--02.--reverse .__content,
.section--design.section--03.--reverse .__content {
    margin-left: 0;
    margin-right: 7.8125vw
}

.section--design.section--02 .viewport,
.section--design.section--03 .viewport {
    display: flex;
    align-items: center;
    max-width: none
}

.section--design.section--02 .__content,
.section--design.section--03 .__content {
    max-width: 23.75rem;
    color: #fff;
    margin-left: 6.25vw;
    margin-top: -1.5625rem
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {

    .section--design.section--02 .__content,
    .section--design.section--03 .__content {
        max-width: clamp(16.25rem, 9.573rem + 16.67vw, 20rem)
    }
}

.section--design.section--02 .section__title,
.section--design.section--03 .section__title {
    margin-bottom: 1.5rem;
    width: 100%
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {

    .section--design.section--02 .section__title,
    .section--design.section--03 .section__title {
        font-size: clamp(1.625rem, .957rem + 1.67vw, 2rem)
    }
}

.section--design.section--02 .section__title span,
.section--design.section--03 .section__title span {
    display: inline-block
}

.section--design.section--02 .section__description,
.section--design.section--03 .section__description {
    text-align: center;
    width: 100%;
    text-align: left;
    font-size: 1rem;
    line-height: 1.75
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {

    .section--design.section--02 .section__description,
    .section--design.section--03 .section__description {
        font-size: clamp(.875rem, .652rem + .56vw, 1rem)
    }
}

.section--design.section--02 .section_overlay_inner,
.section--design.section--03 .section_overlay_inner {
    width: 100%;
    margin: auto;
    height: fit-content;
    max-width: 1600px
}

.section--design.section--02 .section__btn,
.section--design.section--03 .section__btn {
    background-color: rgba(255, 255, 255, .75);
    margin-top: 2.2rem;
    min-width: 180px;
    width: 180px;
    color: #000;
    font-size: .9rem;
    line-height: 44px;
    text-align: center;
    text-decoration: none;
    border-radius: 22px;
    display: inline-block;
    transition: width .4s;
    cursor: pointer
}

@media only screen and (min-width: 641px)and (max-width: 1000px) {

    .section--design.section--02 .section__btn,
    .section--design.section--03 .section__btn {
        width: clamp(8.75rem, 4.299rem + 11.11vw, 11.25rem);
        min-width: clamp(8.75rem, 4.299rem + 11.11vw, 11.25rem)
    }
}

.section--design.section--02 .section__btn:hover,
.section--design.section--03 .section__btn:hover {
    width: 200px
}

.section--design.section--02 .video_wrap,
.section--design.section--03 .video_wrap {
    position: relative;
    height: 56.25vw;
    min-height: 560px;
    overflow: hidden
}

@media screen and (max-width: 1279px) {

    .section--design.section--02 .video_play.__imagebtn,
    .section--design.section--03 .video_play.__imagebtn {
        display: none !important
    }
}

.section--design.section--02 .__video_area,
.section--design.section--03 .__video_area {
    z-index: -1;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden
}

.section--design.section--02 .__video,
.section--design.section--03 .__video {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    height: 56.25vw;
    transform: translate(-50%, 0);
    min-height: 100%;
    min-width: 100%
}

.section--design.section--02 .video_play.__imagebtn,
.section--design.section--03 .video_play.__imagebtn {
    position: absolute
}

.section--design.section--02 .video_play span::before,
.section--design.section--03 .video_play span::before {
    top: calc(50% - 30px)
}

.section--design.section--02 .video_play:after,
.section--design.section--03 .video_play:after {
    background: #000;
    opacity: .3
}

.section--design.section--02 .video_play span:after,
.section--design.section--03 .video_play span:after {
    padding-top: 69px
}

.section--design.section--04 {
    padding: 7.5rem 6.25vw 8.75rem
}

.section--design.section--04 .viewport {
    max-width: 1600px
}

.section--design.section--04 .section__title {
    font-size: 2.375rem;
    line-height: 1.3157894737;
    margin-bottom: 2.5rem
}

.section--design .video_stop,
.section--design .video_stop02 {
    position: absolute;
    z-index: 99;
    top: 0;
    right: 2%;
    width: 50px;
    height: 50px;
    color: #666;
    cursor: pointer
}

.section--design .video_stop:hover,
.section--design .video_stop02:hover {
    opacity: .8
}

.section--design .video_stop::after,
.section--design .video_stop02::after {
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    font-size: 54px;
    font-size: 3rem
}

.section--design .section_overlay {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: -99
}

.section--design .section_overlay.visible {
    opacity: 1;
    z-index: 901;
    transition: opacity .8s;
    pointer-events: all;
    cursor: pointer
}

.section--design .section_overlay video {
    display: block;
    margin: auto;
    width: 100%;
    height: auto;
    cursor: default
}

.section--design .section_overlay_inner {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%
}

.modal-bg {
    background: rgba(0, 0, 0, .8);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    z-index: -100
}

.modal-bg.__visible {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    cursor: pointer;
    z-index: 900
}

.section--spec .__basic {
    width: 100%;
    margin-bottom: 2rem;
    border-collapse: collapse;
    border-spacing: 0;
    text-align: left;
    font-size: .9rem;
    line-height: 1.5
}

.section--spec .__basic th,
.section--spec .__basic td {
    padding: .4375rem 0;
    border-bottom: 1px solid #ebebeb;
    vertical-align: top
}

.section--spec .__basic th {
    width: 220px
}

.section--spec.section--01 {
    padding: 5rem 2rem 6.25rem;
    border-top: 1px solid #cbcbcb;
    background-color: #f8f8f8
}

.section--spec.section--01 .title {
    font-size: 2.375rem
}

.section--spec.section--01 .__content {
    padding: 0;
    margin-top: 1.625rem
}

.section--spec.section--01.section--spec .__basic tr:first-child td,
.section--spec.section--01.section--spec .__basic tr:first-child th {
    border-top: 1px solid #ebebeb
}

.section--spec.section--01 .note {
    margin-bottom: .5rem;
    font-style: normal;
    font-size: .9rem;
    padding: 1rem 0 0 0
}

.section--spec.section--01 .note:first-child {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.section--spec.section--01 .section__title-modify {
    margin-top: 5.625rem
}

.section--spec.section--02 {
    padding-bottom: 5.625rem
}

.section--spec.section--02 .__image {
    position: absolute;
    top: -5px;
    left: 0;
    right: 0;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: auto;
    opacity: 0;
    transition: opacity .4s
}

.section--spec.section--02 .__image.__current {
    opacity: 1
}

.section--spec.section--02 .__image_outer {
    margin: 0 auto;
    width: 100%;
    max-width: 785px
}

.section--spec.section--02 .__image_inner {
    position: relative;
    padding-top: 80%
}

.section--spec.section--02 .__selector {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 149px;
    height: 50px;
    border: 2px solid #707070;
    border-radius: 25px;
    font-size: 14.4px;
    font-size: .8rem;
    color: #646464;
    cursor: pointer;
    transition: all .3s
}

.section--spec.section--02 .__selector br {
    display: none
}

.section--spec.section--02 .__selector:hover {
    border-color: #039be5;
    color: #039be5
}

.section--spec.section--02 .__selector.__current {
    background-color: #039be5;
    border-color: #039be5;
    color: #fff;
    cursor: default
}

.section--spec.section--02 .__selector_wrap {
    margin: 45px 0 0;
    display: flex;
    justify-content: center
}

.section--spec.section--02 .__selector_wrap>:not(:last-child) {
    margin-right: 9px
}

.section--spec.section--03 {
    padding: 5.3125rem 2rem 7.1875rem
}

.section--spec.section--03 .title {
    font-size: 2.375rem
}

.section--spec.section--03 .list {
    margin-top: 1.5625rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(465px, 1fr));
    gap: 0 50px;
    list-style: none
}

@media screen and (max-width: 1000px) {
    .section--spec.section--03 .list {
        grid-template-columns: auto;
        grid-auto-flow: unset;
        grid-template-rows: none;
        place-items: unset
    }
}

.section--spec.section--03 .list__item {
    display: flex;
    gap: 20px;
    flex-wrap: nowrap;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid #ebebeb
}

.section--spec.section--03 .list__item:nth-child(1),
.section--spec.section--03 .list__item:nth-child(2) {
    border-top: 1px solid #ebebeb
}

@media screen and (max-width: 1000px) {
    .section--spec.section--03 .list__item:nth-child(4) {
        border-top: none
    }
}

.section--spec.section--03 .item__img {
    max-width: 80px
}

.section--spec.section--03 .item__img .img {
    max-width: 100%;
    width: auto;
    height: auto
}

.section--spec.section--03 .item__title {
    font-size: 1rem
}

.section--spec.section--03 .item__txt {
    font-size: .9rem;
    line-height: 1.5;
    margin-top: .3125rem
}

.section--spec.section--04 {
    padding: 5.3125rem 2rem 6.25rem;
    background-color: #f7f7f7
}

.section--spec.section--04 .img {
    max-width: 100%;
    width: auto;
    height: auto
}

.section--spec.section--04 .title {
    font-size: 2.375rem
}

.section--spec.section--04 .lyt {
    margin-top: 2.8125rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 70px 100px
}

@media screen and (max-width: 1000px) {
    .section--spec.section--04 .lyt {
        grid-template-columns: auto
    }
}

.section--spec.section--04 .lyt__item {
    max-width: 425px;
    display: flex;
    flex-direction: column;
    gap: 15px
}

@media screen and (max-width: 1000px) {
    .section--spec.section--04 .lyt__item {
        max-width: 100%
    }
}

.section--spec.section--04 .lyt .item__body {
    margin: 0 auto
}

.section--spec.section--04 .lyt .item__title {
    font-size: 1.75rem;
    line-height: 1.5714285714
}

.section--spec.section--04 .lyt .item__txt {
    margin-top: .9375rem;
    font-size: 1rem;
    line-height: 1.75
}

.section--dealer .viewport {
    max-width: 700px
}

.section--dealer.section--00 {
    padding: 6rem 0;
    text-align: center
}

.section--dealer.section--01 {
    padding-top: 3rem;
    background-color: #fbfbfb;
    border-top: 1px solid #ddd
}

.section--dealer .input {
    margin-bottom: 0
}

.section--dealer .input>select {
    height: 3.5rem
}

.section--dealer .states ul {
    list-style: none
}

.section--dealer .prefecture {
    position: relative;
    height: 3.5rem;
    padding: 0 1rem;
    border-bottom: 1px solid #ddd;
    line-height: 3.5rem
}

.section--dealer .prefecture>span {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 1rem;
    width: 100%;
    height: 100%;
    text-align: right;
    cursor: pointer
}

.section--dealer .shop {
    padding: 1rem 1rem .7rem;
    border-bottom: 1px solid #ddd
}

.section--dealer .shop .name,
.section--dealer .shop .tel,
.section--dealer .shop .address {
    display: block;
    position: relative;
    margin-bottom: .3rem;
    line-height: 1.4
}

.section--dealer .shop .name {
    font-weight: bold
}

.section--dealer .shop .tel,
.section--dealer .shop .address {
    padding-left: 1.7rem
}

.section--dealer .shop .tel:before,
.section--dealer .shop .address:before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #ccc
}

.section--dealer .shop .tel a,
.section--dealer .shop .address a {
    text-decoration: none
}

.section--dealer .shop .tel:before {
    content: ""
}

.section--dealer .shop .address:before {
    content: "";
    font-size: 1.1rem
}

.section--dealer .shop .address>a:after {
    display: inline-block;
    position: relative;
    top: -1px;
    content: "地図";
    height: 1.2rem;
    border: 1px solid #666;
    margin-left: .5rem;
    padding: 0 .8rem;
    font-size: .8rem;
    line-height: 1.3rem;
    color: #666
}

.section--shops .viewport {
    max-width: 880px
}

.section--shops.section--00 {
    padding-top: 7rem;
    border-bottom: 1px solid #ddd;
    text-align: center
}

.section--shops .states ul {
    list-style: none
}

.section--shops .states .name,
.section--shops .states .tel,
.section--shops .states .address {
    display: block;
    position: relative;
    margin-bottom: .3rem;
    line-height: 1.4
}

.section--shops .states .name {
    font-weight: bold;
    margin-bottom: .5rem
}

.section--shops .states .umeda {
    margin-top: 22%
}

.section--shops .states .tel a,
.section--shops .states .address a {
    text-decoration: none;
    color: #666
}

.section--shops .states .tel {
    padding-left: 1.7rem
}

.section--shops .states .tel:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    font-family: "icon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #666
}

.section--shops .states .address>a:after {
    display: inline-block;
    position: relative;
    top: -1px;
    content: "地図";
    height: 1.2rem;
    border: 1px solid #666;
    margin-left: 1rem;
    padding: 0 .8rem;
    font-size: .8rem;
    line-height: 1.3rem;
    color: #666
}

.section--shops.section--01 {
    padding-top: 2rem;
    padding-bottom: 0
}

.section--shops.section--01 .states {
    padding: 3rem 0 0
}

.section--shops.section--01 .states .button {
    margin-left: 0;
    width: 200px;
    color: #333;
    font-size: .8rem;
    line-height: 44px;
    text-align: center;
    text-decoration: none;
    border: solid 1px #333;
    border-radius: 22px;
    display: block;
    transition: all .2s;
    cursor: pointer
}

.section--shops.section--01 .states .button:hover {
    width: 220px
}

.section--shops.section--01 .shop {
    padding-bottom: 5rem
}

.section--shops.section--01 .shop:not(:last-child) .pickup {
    border-bottom: 1px solid #ddd
}

.section--shops.section--01 .shop .pickup {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    padding: 5rem 0 4rem
}

.section--shops.section--01 .shop .pickup .label {
    position: absolute;
    top: 2rem;
    left: 0;
    display: block;
    width: 200px;
    padding: .3rem 0;
    background-color: #333;
    color: #fff;
    text-align: center
}

.section--shops.section--01 .shop .pickup .name {
    margin-bottom: .8rem;
    font-size: 21px
}

.section--shops.section--01 .shop .pickup .photo {
    width: 480px;
    height: 300px;
    border-radius: 10px;
    overflow: hidden
}

.section--shops.section--01 .shop .pickup .contents {
    flex: 1;
    padding: 0 2rem 0 0;
    margin-top: .5rem
}

.section--shops.section--01 .shop .pickup .description {
    margin-top: 1.5rem
}

.section--shops.section--01 .shop .pickup .date {
    display: block;
    margin-top: 1rem;
    font-weight: bold
}

.section--shops.section--01 .shop .pickup .note {
    margin-top: 1rem;
    line-height: 1.6;
    color: #999;
    font-style: normal
}

.section--shops.section--01 .shop .pickup .button {
    margin-top: 2.2rem;
    margin-left: 0;
    width: 180px;
    color: #333;
    font-size: .8rem;
    line-height: 44px;
    text-align: center;
    text-decoration: none;
    border: solid 1px #333;
    border-radius: 22px;
    display: block;
    transition: all .2s;
    cursor: pointer
}

.section--shops.section--01 .shop .pickup .button:hover {
    width: 200px
}

@media screen and (max-width: 940px) {
    .section--shops.section--01 .shop .pickup {
        display: block;
        flex: none;
        padding-top: 6rem
    }

    .section--shops.section--01 .shop .pickup .contents {
        padding-top: 3rem
    }
}

.section--shops.section--02 {
    padding-top: 5rem;
    background-color: #fbfbfb;
    border-top: 1px solid #ddd
}

.section--shops.section--02 .section__title {
    margin-bottom: 1rem
}

.section--shops.section--02 .title_caption {
    margin-bottom: 4rem
}

.section--shops.section--02 .cpn {
    font-size: .8rem
}

.section--shops.section--02 .input {
    margin-bottom: 0
}

.section--shops.section--02 .input>select {
    height: 3.5rem
}

.section--shops.section--02 .prefecture {
    position: relative;
    height: 3.5rem;
    padding: 0 1rem;
    border-bottom: 1px solid #ddd;
    line-height: 3.5rem
}

.section--shops.section--02 .prefecture>span {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 1rem;
    width: 100%;
    height: 100%;
    text-align: right;
    cursor: pointer
}

.section--shops.section--02 .shop {
    padding: 1rem 1rem .7rem;
    border-bottom: 1px solid #ddd
}

.section--shops.section--02 .shop .name {
    margin-bottom: .3rem
}

.section--shops .__information {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin-top: 5rem;
    padding: 1rem 2rem;
    border-radius: 10px;
    color: #fff;
    background-color: #4dc0db;
    text-align: center;
    text-decoration: none
}

.shoptit .label {
    top: 2rem;
    left: 0;
    display: block;
    text-align: left !important;
    padding: .3rem 0;
    color: #333;
    text-align: center;
    font-size: 2.4rem
}

.shoptit .description {
    margin-top: 1.5rem
}

@media only screen and (max-width: 800px) {
    .section--shops .states .umeda {
        margin-top: 8% !important
    }
}

.aoyama_store {
    background-color: #f5f5f5;
    padding: 120px 0
}

.aoyama_store .store__ttl {
    margin: 0 auto;
    text-align: center;
    width: 492px;
    margin-bottom: 29px
}

.aoyama_store .store__ttl img {
    width: 100%;
    height: auto
}

.aoyama_store .store__subttl {
    width: 100%;
    font-size: 1rem;
    text-align: center;
    margin-bottom: 80px;
    font-size: 1rem;
    line-height: 1.8
}

.aoyama_store .store__inner {
    text-align: center;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    width: 80%
}

.aoyama_store .store-col1 {
    text-align: left;
    width: 460px;
    padding-right: 30px
}

.aoyama_store .store-col2 {
    text-align: left;
    width: 520px;
    margin-bottom: 0px
}

.aoyama_store .store-info__etc {
    text-align: left;
    line-height: 200%;
    font-size: .875rem;
    margin-bottom: 20px
}

.aoyama_store .store-info__text {
    text-align: left;
    line-height: 200%;
    font-size: .875rem;
    margin-bottom: 16px
}

.aoyama_store .btn-external {
    width: 270px;
    margin-top: 20px
}

.aoyama_store .btn-external::first-child {
    margin-top: 0px
}

.aoyama_store .store__img {
    width: 100%
}

.aoyama_store .store__img img {
    width: 100%
}

.brand_shop {
    padding: 110px 0 120px 0
}

.brand_shop .shop__ttl {
    text-align: center;
    font-weight: bold;
    line-height: 160%;
    margin-bottom: 20px;
    font-size: 2rem
}

.brand_shop .shop__ttl .sp {
    display: none
}

.brand_shop .shop__subttl {
    margin: 0 auto;
    line-height: 180%;
    width: 80%;
    text-align: center;
    margin-bottom: 67px;
    font-size: 1rem
}

.brand_shop .shop__subttl .sp {
    display: none
}

.brand_shop .shop_block {
    display: flex;
    width: 90%;
    max-width: 1070px;
    margin: 0 auto
}

.brand_shop .shop__inner {
    text-align: center;
    margin: 0 auto;
    flex-direction: row;
    width: 80%;
    max-width: 980px
}

.brand_shop .shop-col1 {
    text-align: left;
    justify-content: center;
    align-items: center;
    margin-bottom: 80px;
    display: flex
}

@media only screen and (max-width: 800px) {
    .brand_shop .shop-col1 {
        display: block
    }
}

.brand_shop .shop-col1 .shop-info_block {
    width: 91%
}

.brand_shop .shop-col1 .shop-info__btn {
    text-align: center
}

.brand_shop .shop-col2 {
    border-top: 1px solid #707070;
    padding-top: 50px;
    border: none;
    padding: 0;
    text-align: left;
    width: 43%;
    padding-right: 0px
}

.brand_shop .shop-info__ttl {
    font-weight: bold;
    text-align: left;
    line-height: 180%;
    font-size: 1.25rem;
    margin-bottom: 16px
}

.brand_shop .shop-info__etc {
    text-align: left;
    line-height: 200%;
    font-size: .875rem;
    margin-bottom: 20px
}

.brand_shop .shop-info__text {
    text-align: left;
    line-height: 180%;
    font-size: .875rem;
    margin-bottom: 25px;
    border-top: 1px solid #707070;
    padding-top: 20px
}

.brand_shop .btn-external {
    width: 250px;
    margin-top: 20px
}

@media screen and (min-width: 641px)and (max-width: 800px) {
    .brand_shop .btn-external {
        margin: 20px 10px 0
    }
}

.brand_shop .shop__img {
    width: 100%;
    display: none;
    margin-bottom: 25px
}

.btn-external {
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    cursor: pointer;
    display: inline-block;
    border: 1px solid #707070;
    box-sizing: border-box;
    background: #fff;
    border-radius: 100vh;
    text-align: center;
    color: #000;
    padding: 12px 40px 13px;
    text-indent: -0.7em;
    line-height: 1.5
}

.btn-external-inner {
    line-height: 1;
    text-align: center;
    vertical-align: baseline;
    position: relative;
    display: inline-block;
    font-size: .9rem
}

.btn-external-inner::before {
    content: "";
    position: absolute;
    background: #707070;
    border-radius: 50%;
    transition: all;
    top: 0px;
    right: -28px;
    bottom: 0;
    width: 14px;
    height: 14px
}

.btn-external-inner::after {
    content: "";
    position: absolute;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    opacity: 1;
    transform: rotate(45deg);
    transition: all .15s;
    top: 5px;
    right: -22px;
    bottom: 0;
    width: 4px;
    height: 4px
}

.btn-external--fillblack {
    border: none;
    background-color: #000;
    color: #fff
}

.btn-external--fillblack .btn-external-inner::before {
    background: #fff
}

.btn-external--fillblack .btn-external-inner::after {
    border-color: #fff
}

.btn-external--fillgray {
    border: none;
    background-color: #707070;
    color: #fff
}

.btn-external--fillgray .btn-external-inner::before {
    background: #fff
}

.btn-external--fillgray .btn-external-inner::after {
    border-color: #707070
}

.btn-external--fillgreen {
    border: none;
    background-color: #4aa53a;
    color: #fff
}

.btn-external--fillgreen .btn-external-inner::before {
    background: #fff
}

.btn-external--fillgreen .btn-external-inner::after {
    border-color: #4aa53a
}

.btn-external:hover {
    opacity: .5
}

.btn-external:hover::after {
    opacity: .5
}

@media(min-width: 1090px) {
    .store__inner {
        width: 980px !important
    }

    .shop__inner {
        width: 980px !important
    }
}

.accordion-area {
    list-style: none;
    width: 100%;
    margin: 0 auto
}

.accordion-area section {
    border: 1px solid #ccc
}

.accordion-area .title {
    position: relative;
    cursor: pointer;
    font-size: .75rem;
    transition: all .5s ease
}

.accordion-area .title.close::before {
    transform: rotate(45deg)
}

.accordion-area .title.close::after {
    transform: rotate(-45deg)
}

.accordion-area .accordion-box {
    display: none;
    background: rgba(255, 255, 255, .6);
    margin: 0;
    padding: 20px;
    font-size: .75rem
}

.accordion-area .accordion-box ul {
    list-style: none
}

.accordion-area .accordion-box ul li {
    margin: 0
}

.accordion-area .accordion-box ul li span {
    font-weight: bold
}

.accordion-area .accordion-box ul li.title {
    margin: 0
}

.accordion-area .accordion-box2 {
    margin-top: 20px
}

.icon__circle__right {
    margin-left: 3px
}

.icon__circle__right:before {
    vertical-align: bottom
}

.store-info__etc {
    margin-bottom: 10px !important
}

/*# sourceMappingURL=desktop.css.map */