@media only screen and (min-width: 1520px) {
    .news-box:nth-child(4n), .news-box:nth-child(4n+2), .news-box:nth-child(4n+3) {
        margin-left: 26px;
    }
    .news-box:nth-child(4n+1) {
        margin-left: 0;
    }
}

@media only screen and (max-width: 1279px) {
    .sec-content {
        padding-right: 47px;
        width: calc(100% - 47px);
    }
    .product-box-wrap {
        padding: 0;
    }
    .home-concept .pic01-wrap {
        right: -47px;
    }
    .shop-wrap {
        padding: 0 0 0 47px;
    }
    .access-wrap {
        padding: 0 0 0 47px;
    }
}

@media only screen and (max-width: 1177px) {
    .news-box:nth-child(3n), .news-box:nth-child(3n+2) {
        margin-left: 0;
    }
    .news-box:nth-child(2n) {
        margin-left: 40px;
    }
    .news-archive {
        margin: 0 auto;
        max-width: 520px
    }
}

@media only screen and (max-width: 1023px) {
    .g-hd {
        height: 60px;
        padding-right: 0;
    }
    .g-hd::after {
        height: 60px;
    }
    .g-logo {
        display: flex;
        justify-content: center;
        left: -14px;
        position: relative;
        width: 100%;
        z-index: 2;
    }
    .g-logo a {
        left: -14px;
        max-width: 237px;
        padding: 8px 0 0;
    }

    .home .g-logo {
        opacity: 0;
        pointer-events: none;
    }
    .home.scrolled .g-logo {
        opacity: 1;
        pointer-events: all;
    }
    .main-logo {
        display: none;
    }
    .sp-logo {
        display: block;
    }
    .g-nav {
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
        left: 0;
        opacity: 0;
        padding-top: 36px;
        pointer-events: none;
        position: fixed;
        top: 0;
        transition: opacity .75s ease-out;
        width: 100%;
    }
    .g-nav::after {
        background-color:rgba(255,255,255,.8);
        content: "";
        display: block;
        height: 100vh;
        left: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        top: 0;
        transition: opacity .75s ease-out;
        width: 100%;
    }
    .g-nav-inner {
        height: calc(100vh - 36px);
        height: calc(var(--vh, 1vh) * 100 - 36px);
        position: relative;
        z-index: 2;
    }
    .g-menu-wrap {
        display: block;
    }
    .g-nav .scrollable {
        -webkit-overflow-scrolling: touch;
        overflow-y: auto;
    }
    .g-nav ul.g-menu {
        flex-direction: column;
        margin-bottom: 24px;
    }
    .menu-open .g-nav {
        opacity: 1;
        pointer-events: all;
    }
    .menu-open .g-nav::after {
        opacity: 1;
    }
    .g-nav .g-menu > li {
        padding: 11px 0;
        text-align: center;
    }
    .g-nav .g-menu > li.nav-onlineshop {
        padding: 44px 0 16px;
    }
    .home .g-nav .g-menu > li.nav-onlineshop::before {
        background-color: #B4821C;
    }
    .g-nav .g-menu > li.nav-onlineshop::before {
        height: 1px;
        left: 0;
        margin: auto;
        right: 0;
        top: 12px;
        width: 40px;
    }
    .g-nav .g-menu > li > a {
        color: #B4821C;
        display: inline;
        font-size: 1.25rem;
    }
    .g-nav .sns-menu {
        margin-left: 0;
        padding-bottom: 40px;
    }
    .g-nav .sns-menu > li > a {
        color: #B4821C;
    }
    .home-sec {
        flex-direction: column;
    }
    .top-visual {
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
    }
    .main-copy-wrap {
        bottom: auto;
        padding: 0;
        position: relative;
    }
    .main-copy {
        display: block;
        font-size: 0.75rem;
        height: auto;
        line-height: 1.67;
        padding: 17px 15px 15px 40px;
        width: 100%;
    }
    .top-visual .swiper-container-horizontal > .swiper-pagination-bullets {
        bottom: 19px;
    }
    .sec-ttl {
        font-size: 1.75rem;
        justify-content: center;
        padding-right: 0;
        width: auto;
        -webkit-writing-mode: unset;
            -ms-writing-mode: unset;
                writing-mode: unset;
    }
    .home-blank01 {
        height: calc(100vw * 158 / 375 + 150px);
    }
    .home-blank01 svg {
        top: calc(100vw * 158 / 375 + 150px);
    }
    .home-concept .pic01-wrap {
        display: none;
    }
    .home-blank01::before {
        background-image: url(/img/home/concept02@2x.jpg);
        background-size: cover;
        content: "";
        display: block;
        height: calc(100vw * 158 / 375);
        left: 0;
        position: absolute;
        top: 112px;
        width: 100%;
    }
    .u-inner {
        margin: 0;
        padding: 0 40px;
    }
    .sec-content {
        padding-right: 0;
        width: auto;
    }
    .home-concept .sec-ttl {
        margin-bottom: 33px;
    }
    .home-concept .lead01 {
        margin-bottom: 22px;
    }
    .home-concept .lead01 br.none {
        display: block;
    }
    .home-concept .txt {
        font-size: 0.75rem;
    }
    .home-concept {
        padding: 75px 0 35px;
    }
    .home-point .sec-ttl {
        margin-bottom: 25px;
        margin-top: 0;
    }
    .point-box {
        flex-direction: column;
    }
    .point-box .pic-col {
        margin-bottom: 24px;
        width: 100%;
    }
    .point-box .txt-col {
        width: 100%;
    }
    .point-box-wrap {
        padding: 50px 30px;
    }
    .point-box:nth-child(2n) {
        flex-direction: column;
    }
    .point-box .num {
        font-size: 3.75rem;
    }
    .point-box .box-ttl {
        font-size: 1.25rem;
        line-height: 1.5;
    }
    .point-box.point01 .box-ttl br.none {
        display: block;
    }
    .point-box .box-head {
        margin-bottom: 8px;
    }
    .point-box:nth-child(n+2) .box-head {
        flex-direction: column;
    }
    .point-box:nth-child(n+2) .box-ttl {
        margin-left: 0;
    }
    .point-box .txt {
        font-size: 0.75rem;
    }
    .point01 .txt-col {
        padding-bottom: 46px;
    }
    .point-box.point01 .bg {
        right: -16px;
        top: 99px;
        width: 79.6%;
    }
    .point-box:nth-child(2n) .num {
        max-width: none;
        text-align: right;
        width: 100%;
    }
    .point02 .txt-col {
        padding-bottom: 45px;
    }
    .point-box.point02 .bg {
        left: 7px;
        top: 57px;
        width: 84.6%;
    }
    .point-box:nth-child(2n) .box-ttl {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
    .point-box:nth-child(2n+3) .num {
        width: 100%;
    }
    .point03 .txt-col {
        padding-bottom: 40px;
    }
    .point-box.point03 .bg {
        right: -17px;
        top: 104px;
        width: 79.1%;
    }
    .point04 .txt-col {
        padding-bottom: 36px;
        padding-top: 0;
    }
    .point04 .box-ttl br {
        display: none;
    }
    .point-box.point04 .bg {
        left: -9px;
        top: 127px;
        width: 77.9%;
    }
    .point05 .txt-col {
        padding-bottom: 17px;
        padding-top: 0;
    }
    .point-box.point05 .bg {
        right: -13px;
        top: 93px;
        width: 63.8%;
    }
    .home-point {
        margin-bottom: 0;
        padding: 60px 0 38px;
    }
    .home-products {
        padding: 51px 0 0;
    }
    .home-products .sec-ttl {
        margin-bottom: 31px;
        padding-left: 0;
    }
    .products-category-sec {
        padding-left: 0;
    }
    .category-hdr {
        font-size: 1.25rem;
        margin-bottom: 30px;
        text-align: center;
    }
    .product-box-wrap {
        flex-direction: column;
    }
    .product-box {
        margin: 0;
        width: 100%;
    }
    .product-box .ttl {
        line-height: 1.25;
        margin-bottom: 22px;
    }
    .product-box .ttl small {
        display: block;
        left: -2px;
        margin-left: 0;
        margin-top: 9px;
        top: 0;
    }
    .product-box .pic {
        margin-bottom: 34px;
    }
    .product-box .desc {
        line-height: 2;
    }
    .product-box .desc {
        padding-bottom: 20px;
    }
    .product-box + .product-box {
        margin-top: 33px;
    }
    .home-blank03 {
        margin-top: 51px;
    }
    .home-blank03 svg {
        top: 1px;
    }
    .home-shop {
        padding: 16px 0 30px;
    }
    .shop-wrap {
        padding: 0;
    }
    .home-shop .sec-ttl {
        padding-left: 0;
        padding-top: 0;
        margin-bottom: 48px;
    }
    .shop-slides {
        margin-bottom: 49px;
        margin-left: -40px;
        margin-right: -40px;
    }
    .info-box {
        flex-direction: column;
    }
    .info-box.shop-info .info-content {
        width: 100%;
    }
    .shop-slides.swiper-container-horizontal > .swiper-pagination-bullets {
        bottom: 8px;
        right: 10px;
    }
    .shop-slides.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 4px 0;
    }
    .shop-slides .swiper-pagination-bullet {
        height: 8px;
        width: 8px;
    }
    .info-box.shop-info .info-head {
        margin-bottom: 22px;
        width: 100%;
    }
    .info-box.shop-info .info-content .btn-wrap {
        display: none;
    }
    .access-wrap {
        padding: 0;
    }
    .access-map iframe {
        display: none;
    }
    .access-map .u-btn-wrap {
        display: flex;
        justify-content: center;
    }
    .access-map .btn-onlineshop {
        margin-top: 17px;
    }
    .access-map .btn-onlineshop .u-btn01 {
        border: 1px solid #FFF;
        font-weight: 300;
    }
    .access-map::before {
        display: none;
    }
    .shop-wrap {
        margin-bottom: 28px;
    }
    .access-map {
        margin-bottom: 59px;
    }
    .info-box.access-info .info-head {
        width: 100%;
        margin-bottom: 33px;
    }
    .info-box.access-info .info-content {
        width: 100%;
    }
    .access-info dt,
    .access-info dd {
        line-height: 2;
    }
    .access-info dd ~ dt {
        margin-top: 24px;
    }
    .home-block00 {
        padding: 177px 0 0;
    }
    .important-box {
        padding: 64px 30px 81px;
    }
    .important-hdr {
        margin-bottom: 27px;
    }
    .important-txt {
        font-size: 0.75rem;
        text-align: left;
    }
    .important-date {
        font-size: 0.75rem;
        margin-top: 30px;
    }
    .important-signature {
        font-size: 0.75rem;
    }
    .important-signature span {
        display: none;
    }
    .home-block03 {
        padding-bottom: 62px;
    }
    .home-block04 {
        overflow: hidden;
        position: relative;
        /* margin-top: 0; */
        padding-bottom: 188px;
    }
    .home-contact {
        padding-top: 40px;
    }
    .home-contact .sec-ttl {
        padding-left: 0;
    }
    .home-contact-wrap {
        padding-top: 12px;
        margin-left: 0;
    }
    .home-contact-wrap dl {
        line-height: 2;
        margin-bottom: 41px;
    }
    .home-contact-wrap dd + dt {
        margin-top: 23px;
    }
    .u-btn01 {
        align-items: center;
        background-color: #FFF;
        border:1px solid #B4821C;
        color: #B4821C;
        display: flex;
        font-weight: 600;
        height: 44px;
        justify-content: center;
        pointer-events: all;
        width: 200px;
        padding-top: 3px;
    }
    .u-btn01 b {
        display: none;
    }
    .u-btn01 span {
        font-size: 1rem;
        top: 0;
    }
    .home-contact-wrap .u-btn-wrap {
        display: flex;
        justify-content: center;
    }
    .btn-tel {
        margin-bottom: 17px;
    }
    .copyright-logo svg {
        height: 32px;
        width: 179px;
    }
    .copyright-txt {
        font-size: 0.625rem;
        line-height: 1;
        margin-top: 1px;
        padding: 0;
    }
    .btn-scroll {
        bottom: 16px;
        left: 5px;
        padding: 3px 3px 22px 3px;
    }
    .btn-top {
        bottom: 16px;
        left: 5px;
        padding: 22px 3px 3px 3px;
    }
    .btn-spmenu {
        display: block;
        opacity: 1;
    }
    .contact-sec {
        flex-direction: column;
    }
    .contact-wrap {
        font-size: 0.75rem;
        padding: 0;
    }
    .form_nameWrap {
        flex-direction: column;
    }
    .form_nameWrap [type="text"]:nth-child(n+2) {
        margin-left: 0;
        margin-top: 10px;
    }
    .form_nameWrap [type="text"] {
        max-width: 100%;
    }
    .form_addressWrap {
        flex-direction: column;
    }
    .form_addressWrap [type="text"]:nth-child(n+2) {
        margin-left: 0;
        margin-top: 10px;
    }
    .form_addressWrap [type="text"] {
        max-width: 100%;
    }
    .form_telWrap {
        margin-top: 10px;
    }
    .form_address2Wrap {
        margin-top: 10px;
    }
    .form_address3Wrap {
        margin-top: 10px;
    }
    .form_submit {
        margin-top: 30px;
    }
    label.error[for="sei"], label.error[for="sei2"], label.error[for="postcode2"] {
        height: 48px;
        left: 1px;
        right: 1px;
        top: 1px;
        width: auto;
    }
    label.error[for="mei"], label.error[for="mei2"], label.error[for="address1_2"] {
        bottom: 1px;
        height: 48px;
        left: 1px;
        right: 1px;
        top: auto;
        width: auto;
    }
    .confirm-list dl {
        flex-direction: column;
    }
    .confirm-list dt {
        width: auto;
    }
    .confirm-list dd {
        font-size: 0.875rem;
        width: auto;
    }
    .confirm .confirm-list {
        margin-bottom: 80px;
    }
    .thanks-ttl {
        margin-bottom: 37px;
    }
    .contact-block {
        padding: 94px 0 203px;
    }
    .contact-sec .sec-ttl {
        margin-bottom: 34px;
    }
    .form_inputWrap + .form_telWrap {
        margin-top: 10px;
    }
    .form_submit {
        display: flex;
        justify-content: center;
    }
    .u-btn03 {
        background-color: #FFF;
        border: 1px solid #B4821C;
        color: #B4821C;
        font-size: 0.75rem;
        font-weight: 600;
        height: 44px;
        letter-spacing: .05em;
        text-indent: .05em;
    }
    .form_submit button {
        background-color: #FFF;
        color:#B4821C;
    }
    .confirm-content-wrap {
        padding-top: 14px;
    }
    .confirm-ttl {
        margin-bottom: 59px;
    }
    .confirm-list dt {
        line-height: 1.25;
    }
    .confirm-list dl {
        margin: 31px 0;
    }
    .thanks-message {
        padding-top: 14px;
        text-align: left;
    }
    .thanks-message p + p {
        margin-top: 24px;
    }
    .shapes00 svg,
    .shapes01 svg,
    .shapes02 svg,
    .shapes03 svg,
    .shapes04 svg,
    .shapes-contact svg,
    .shapes-news svg {
        transform: scale(.8) !important;
    }
    .shapes00 .shape01 {
        margin-left: -240px;
    }
    .shapes00 .shape02 {
        margin-left: -215px;
    }
    .shapes00 .shape03 {
        display: none;
    }
    .shapes00 .shape04 {
        margin-left: 47px;
        top: 7%;
    }
    .shapes00 .shape05 {
        margin-left: 28px;
    }
    .shapes01 .shape01 {
        display: none;
    }
    .shapes01 .shape02 {
        margin-left: -280px;
        top: 14%;
    }
    .shapes01 .shape03 {
        margin-left: 24px;
        top: 21%;
    }
    .shape01 .shape04 {
        top: 23%;
    }
    .shapes01 .shape05 {
        margin-left: -260px;
        top: 37.5%;
    }
    .shapes01 .shape06 {
        margin-left: 80px;
        top: 31%;
    }
    .shapes01 .shape07 {
        margin-left: 120px;
        top: 47%;
    }
    .shapes01 .shape08 {
        margin-left: -300px;
        top: 55%;
    }
    .shapes01 .shape09 {
        display: none;
    }
    .shapes01 .shape10 {
        margin-left: 100px;
        top: 60%;
    }
    .shapes01 .shape11 {
        margin-left: -300px;
        top: 66%;
    }
    .shapes01 .shape12 {
        margin-left: 100px;
        top: 83%;
    }
    .shapes01 .shape13 {
        margin-left: -238px;
        top: 105%;
    }
    .shapes01 .shape15 {
        margin-left: 80px;
        top: 103%;
    }
    .shapes01 .shape14,
    .shapes01 .shape16 {
        display: none;
    }
    .shapes01 .shape17 {
        margin-left: -200px;
        top: 85%;
    }
    .shapes01 .shape18 {
        margin-left: 140px;
        top: 97%;
    }
    .shapes02 .shape01 {
        margin-left: -219px;
        top: 22.5%;
    }
    .shapes02 .shape01 svg {
        transform: scale(.7);
    }
    .shapes02 .shape02,
    .shapes02 .shape03 {
        display: none;
    }
    .shapes02 .shape04 {
        margin-left: 80px;
        top: 67%;
    }
    .shapes02 .shape05 {
        margin-left: 0;
        top: 40%;
    }
    .shapes02 .shape06,
    .shapes02 .shape09 {
        display: none;
    }
    .shapes02 .shape08 {
        margin-left: -240px;
        top: 85%;
    }
    .shapes02 .shape11 {
        margin-left: 0px;
        top: 91.5%;
    }
    .shapes02 .shape10 {
        margin-left: -190px;
        top: 108%;
    }
    .shapes02 .shape12 {
        margin-left: 50px;
        top: 97%;
    }
    .shapes02 .shape07 {
        margin-left: -200px;
        top: 105.5%;
    }
    .shapes02 .shape13 {
        margin-left: -260px;
        top: 121%;
    }
    .shapes02 .shape14 {
        display: none;
    }
    .shapes03 .shape01 {
        margin-left: 92px;
        top: 104.5%;
    }
    .shapes03 .shape02 {
        margin-left: -338px;
        top: 226.5%;
    }
    .shapes03 .shape03 {
        margin-left: -268px;
        top: 314%;
    }
    .shapes03 .shape04,
    .shapes03 .shape05,
    .shapes03 .shape07 {
        display: none;
    }
    .shapes03 .shape06 {
        margin-left: 60px;
        top: 173.5%;
    }
    .shapes04 .shape01 {
        margin-left: -240px;
        top: 128%;
    }
    .shapes04 .shape02 {
        margin-left: -215px;
        top: 262.5%;
    }
    .shapes04 .shape03,
    .shapes04 .shape04 {
        display: none;
    }
    .shapes04 .shape05 {
        margin-left: 28px;
        top: 531%;
    }
    .shapes04 .shape05 svg {
        transform: scale(.6);
    }
    .g-nav .g-menu > li > a::after {
        display: none;
    }
    .main-copy > p {
        padding-left: 0;
    }
    .home-block01 {
        padding-bottom: calc((100vw * 208 / 1280));
    }
    .home-block03 .u-inner {
        top: 0;
    }
    .home-concept .anchor {
        top: 0;
    }
    .home-point .anchor {
        top: -12px;
    }
    .home-products .anchor {
        top: -20px;
    }
    .home-shop .anchor {
        top: -54px;
    }
    .news-sec {
        flex-direction: column;
    }
    .news-wrap {
        font-size: 0.75rem;
        padding: 0;
    }
    .news-block {
        padding: 94px 0 150px;
    }
    .news-sec .sec-ttl {
        margin-bottom: 34px;
    }
    .news-box {
        margin-bottom: 32px;
        margin-left: auto;
        margin-right: auto;
    }
    .news-box:nth-child(3n),
    .news-box:nth-child(3n+2) {
        margin-left: auto;
    }
    .news-box:nth-child(2n) {
        margin-left: auto;
    }
    .news-box time {
        margin-top: 13px;
    }
    .news-box .ttl {
        font-size: 14px;
    }
    .entry-header .main-pic {
        margin-left: -40px;
        margin-right: -40px;
    }
    .entry-header time {
        font-size: 1.125rem;
    }
    .entry-header .entry-ttl {
        font-size: 1rem;
    }
    .entry-header .entry-meta {
        padding-top: 0;
    }
    .entry-body {
        padding: 28px 0 46px;
    }
    .entry-header .main-pic {
        margin-bottom: 60px;
    }
    .single-nav {
        margin-bottom: 20px;
        margin-top: 6px;
    }
    .single-nav-all {
        font-size: 1rem;
    }
    .single-nav-next > ::before, .single-nav-prev > ::after {
        height: 10px;
        width: 10px;
    }
    .single-nav-link > a,
    .single-nav-link > p {
        margin-top: 12px;
    }
    .home-news {
        padding: 164px 0 0;
    }
    .home-news-lists {
        flex-direction: column;
    }
    .home-news .sec-ttl {
        margin-bottom: 26px;
    }
    .home-news-box {
        margin-left: auto;
        margin-right: auto;
    }
    .home-news-box time {
        margin-top: 13px;
    }
    .home-news-box + .home-news-box {
        margin-left: auto;
        margin-top: 32px;
    }
    .btn-home-news {
        margin-top: 39px;
    }
}

@media only screen and (max-width: 374px) {
    .u-inner {
        padding: 0 28px;
    }
    .shop-slides {
        margin-left: -28px;
        margin-right: -28px;
    }
}
