/* -----------
スマホファースト
------------ */

/* ----------------------------------------
Common
---------------------------------------- */

html {
    font-size: 100%;
    height: 100%;
    overflow-y: scroll;
}

html.open {
    overflow: hidden;
}

body {
    height: 100%;
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
    position: relative;
}

#layer.open {
    width: 100%;
    height: 100%;
    position: fixed;
    overflow: hidden;
    z-index: 8;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal;
    margin: 0;
    padding: 0;
}

p,
li,
dt,
dd,
th,
td,
pre {
    -ms-line-break: strict;
    line-break: strict;
    -ms-word-break: break-strict;
    word-break: break-strict;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
    border: 0;
}

ul,
ol {
    padding: 0 0 0 2em;
}

dd {
    margin: 0;
}

object,
embed {
    vertical-align: top;
}

a,
.hover {
    transition: opacity 0.3s ease;
    text-decoration: none;
    cursor: pointer;
}

a:hover,
.hover:hover {
    opacity: 0.7;
    cursor: pointer;
}

a.false {
    opacity: 1!important;
}

a:focus {
    outline: none;
}

p {
    display: block;
    margin: 0 0 1em;
}

.layout {
    padding: 0;
    list-style: none;
}

.cf::before,
.cf::after {
    content: "";
    display: table;
}

.cf::after {
    clear: both;
}

.flex {
    display: flex;
}

.noPost {
    padding-bottom: 60px;
}

.m0 {
    margin: 0;
}

.txt_or {
	color: #E65300;
}

main {
    display: block;
    overflow: hidden;
}

@media all and (min-width: 560px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none!important;
    }
    .sp {
        display: none!important;
    }
}

@media all and (min-width: 960px) {
    .tablet2 {
        display: none!important;
    }
}

@media all and (min-width: 769px) {
    .tablet {
        display: none!important;
    }
}

@media all and (max-width: 559px) {
    .pc {
        display: none!important;
    }
}


/* ----------------------------------------
font
---------------------------------------- */
.roboto {
    font-family: 'Roboto', sans-serif;
    letter-spacing: .06em;
}

.sans {
    font-family: 'Noto sans JP', sans-serif;
}

.whtCol {
    color: #fff;
}

.common-textStyle {
    line-height: 1.92;
}

@media all and (min-width: 560px) {
    .common-textStyle {
        line-height: 2.33;
    }
}

/* ----------------------------------------
original
---------------------------------------- */

body {
    font-family: 'Noto sans JP', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #2D2A25;
    background: #D9C79E;
}

.inner {
    max-width: calc(1140px + 100px);
    margin: 0 auto;
    padding: 0 35px;
    box-sizing: border-box;
}

a {
    color: #2D2A25;
}

.content-inner {
    min-height: 100vh;
    padding-bottom: 30px;
    box-sizing: border-box;
    position: relative;
}

@media all and (min-width: 560px) {
    .inner {
        padding: 0 50px;
    }
}

@media all and (min-width: 769px) {
    #wrapper {
        overflow: hidden;
    }
    
    .home .content-wrapper {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        height: auto;
        margin: auto;
        will-change: transform;
        transform: translate3d(0, 0 ,0);
        z-index: 1;
        -webkit-backface-visibility:hidden;
        backface-visibility:hidden;
        overflow:hidden;
    }
}

/* ----------------------------------------
split
---------------------------------------- */
span.split {
    display: block;
}

.split .sliceTxt {
    display: inline-block;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0s 3s linear;
    transition: transform .3s cubic-bezier(.64,-0.37,.5,1.13), opacity .2s linear;
}

.split .sliceTxt.on {
    opacity: 1;
    transform: translateY(0);
    transition: transform .3s cubic-bezier(.64,-0.37,.5,1.13), opacity .3s linear;
}

/* ----------------------------------------
Contents
---------------------------------------- */

section {
    position: relative;
    z-index: 2;
}

.section__title {
    margin: 0 0 45px;
    padding: 0 0 0 30px;
    border-bottom: 1px solid #2D2A25;
}

.section__title-h {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.35;
}

.commonBtn {
    width: 113px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    margin: 0 auto;
    border: 1px solid;
    border-radius: 50%;
    position: relative;
}

.commonBtn.wht {
    color: #fff;
    border-color: #fff;
}

.commonBtn.org {
    color: #E65300;
    border-color: #E65300;
}

.commonBtn:before {
    content: "";
    position: absolute;
    margin: auto;
}

.morebtn a:before {
    width: 45px;
    height: 7px;
    background: url(../images/common/arrow_right.svg) no-repeat right center;
    top: 40%;
    left: 103px;
    animation: morebtn 1.3s linear infinite;
}

@keyframes morebtn {
    0% {
        width: 6px;
    }
    70% {
        width: 45px;
    }
    100% {
        width: 45px;
    }
}

@media all and (max-width: 374px) {
    .commonBtn {
        width: 103px;
        height: 55px;
    }
}

@media all and (min-width: 560px) {
    .section__title {
        margin: 0 0 80px;
        padding: 0 0 0 100px;
        border-width: 2px;
    }
    
    .section__title-h {
        font-size: 40px;
        line-height: 1.8;
    }

    .commonBtn {
        width: 188px;
        height: 100px;
        font-size: 20px;
        border-width: 2px;
    }

    .morebtn a:before {
        width: 99px;
        height: 7px;
        background: url(../images/common/arrow_right_pc.svg) no-repeat right center;
        top: 45%;
        left: 165px;
    }
    
    @keyframes morebtn {
        0% {
            width: 10px;
        }
        70% {
            width: 99px;
        }
        100% {
            width: 99px;
        }
    }
    
}

/* ----------------------------------------
loading
---------------------------------------- */

#loading {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: #E65300;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    transition: top 1.5s cubic-bezier(.19, 1, .22, 1);
    pointer-events: none;
}

#loading.hello {
    top: -100%;
}

#loading__logo {
    width: 164px;
    height: 164px;
    background: url(../images/top/loading.svg) no-repeat center / contain;
    animation: loading 20s linear infinite;
}

@keyframes loading {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}

@media all and (min-width: 560px) {
    #loading__logo {
        width: 257px;
        height: 257px;
    }
}

/* ----------------------------------------
gNavi
---------------------------------------- */

#gnavi {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 9;
}

.home #logo {
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s linear;
}

#gnavi.scroll #logo {
    opacity: 1;
    pointer-events: all;
}

.logo {
    position: absolute;
    top: 20px;
    left: 14px;
}

.btn {
    transition: .3s;
    position: absolute;
    right: 0;
    z-index: 9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 500;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    box-shadow: 0 0 5px 0px rgba(4,0,0,.3);
}
.btn,
.btn a {
    color: #fff;
}
.btn:hover {
    opacity: 1;
    transition: .3s;
}
#btn_menu {
    top: 40px;
    width: 30px;
    height: 80px;
    background: #E65300;
}
#btn_menu:hover {
    background: #e9661c;
}
#btn_reserve {
    top: 140px;
    width: 30px;
    height: 185px;
    background: #1e7b0f;
}
#btn_reserve:hover {
    background: #328a24;
}


#nav {
    width: 100%;
    height: 100%;
    background: #2D2A25;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 8;
    opacity: 0;
    transform: translateY(-50%);
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    pointer-events: none;
}

#nav.open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: all;
}

.nav__inner {
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: flex-end;
    box-sizing: border-box;
    padding-top: 110px;
}

.nav__container {
    width: 100%;
    position: relative;
    overflow: auto;
}

.nav-wrap {
    min-height: 440px;
    position: relative;
    padding: 30px 0 20px;
}

.nav {
    height: 100%;
    box-sizing: border-box;
}

.nav a {
    color: #fff;
}

.nav-item {
    opacity: 0;
    transform: translateY(-30px);
    transition: all .2s linear;
	-webkit-transition: -webkit-transform all .2s linear;
}

.nav-item.on {
    opacity: 1;
    transform: translateY(0);
}

.nav-item > a {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 0 30px;
    border-bottom: 1px solid #fff;
}

.nav-item + .nav-item {
    margin-top: 6px;
}

.nav-item > a {
    font-size: 24px;
    line-height: 1.4;
}

.nav-item.small {
    margin-top: 12px;
}

.nav-item.small a {
    font-size: 18px;
}

.nav-item > a > span {
    display: block;
    font-size: 13px;
    letter-spacing: .05em;
    padding: 0 0 3px;
}

.nav-item.small > a > span {
    font-size: 12px;
}

.children {
    padding-left: 30px;
    margin: 10px 0 10px;
}

.children a {
    display: inline-block;
    font-size: 18px;
    line-height: 1.25;
    position: relative;
    padding-left: 15px;
}

.children a:after {
    display: block;
    content: "-";
    position: absolute;
    top: 0;
    left: 0;
}

.sns__nav {
    margin: 30px 0 0 30px;
}

.sns__nav li + li {
    margin-top: 10px;
}

.nav--close {
    top: -40px;
}

.nav--close:before {
    width: 7px;
    height: 49px;
    background: url(../images/common/arrow_top.svg) no-repeat center top;
    bottom: 45px;
    left: 0;
    right: 7px;
    /*
    animation: navClose 1.3s linear infinite;
    */
}

@keyframes navClose {
    0% {
        height: 7px;
    }
    70% {
        height: 49px;
    }
    100% {
        height: 49px;
    }
}

@media all and (max-width: 374px) {
    
}

@media all and (min-width: 560px) {
    .logo {
        top: 30px;
        left: 30px;
    }

    .logo img {
        width: 117px;
    }

    #nav__logo {
        display: none;
    }

    #btn_menu {
        width: 50px;
        height: 140px;
    }
    #btn_reserve {
        width: 50px;
        height: 250px;
        top: 200px;
    }
    
    .btn {
        font-size: 24px;
        border-top-left-radius: 6px;
        border-bottom-left-radius: 6px;
    }

    .btn a:hover {
        opacity: 1!important;
    }
    
    #nav {
        width: 500px;
        transform: translateX(50%) translateY(0);
    }
    
    #nav.open {
        transform: translateX(0);
    }
    
    .nav__inner {
        padding-top: 40px;
    }
    
    .nav-wrap {
        min-height: 440px;
        padding: 76px 0 20px;
    }

    .nav-item > a {
        padding: 0 67px 0 45px;
    }
    
    .nav-item + .nav-item {
        margin-top: 23px;
    }
    
    .nav-item > a {
        font-size: 26px;
    }
    
    .nav-item.small {
        margin-top: 30px;
    }
    
    .nav-item.small a {
        font-size: 20px;
    }
    
    .nav-item > a > span {
        display: block;
        font-size: 13px;
        letter-spacing: .05em;
        padding: 0 0 3px;
    }
    
    .nav-item.small > a > span {
        font-size: 12px;
    }
    
    .children {
        padding-left: 45px;
        margin: 11px 0 25px;
    }

    .children li {
        line-height: 1.2;
    }
    
    .children a {
        font-size: 20px;
        padding-left: 15px;
    }

    .sns__nav {
        display: flex;
        margin: 35px 0 0 45px;
    }
    
    .sns__nav li + li {
        margin: 0 0 0 20px;
    }
    
    .nav--close {
        width: 113px;
        height: 60px;
        font-size: 16px;
        top: 0;
        margin: 50px auto 0;
    }
    
    .nav--close:before {
        width: 49px;
        height: 7px;
        background: url(../images/common/arrow_right_wh.svg) no-repeat right center;
        bottom: auto;
        top: 40%;
        left: 103px;
        right: auto;
    }
    
    @keyframes navClose {
        0% {
            width: 6px;
        }
        70% {
            width: 49px;
        }
        100% {
            width: 49px;
        }
    }
}


/* ----------------------------------------
Header
---------------------------------------- */

.top-header {
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    min-height: 400px;
    overflow: hidden;
    position: relative;
}

#fv {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

#fv .swiper-slide {
    width: 100%;
    height: 100%;
}

#fv .swiper-slide img {
    max-width: none;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.top-header__logo {
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity: 0;
    transition: all 1s linear;
}

.top-header__logo.on {
    top: 45%;
    opacity: 1;
}

.top-header__btn {
    position: absolute;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    opacity: 0;
    transition: all 1s linear;
}

.top-header__btn.on {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.top-header__btn a:before {
    width: 7px;
    /*
    height: 49px;
    */
    height: 12px;
    background: url(../images/common/arrow_bottom.svg) no-repeat center bottom / 100% auto;
    top: 45px;
    left: 5px;
    right: 0;
}

.top-header__btn.on a:before {
    animation: scroll 1.3s ease-in-out 0s infinite normal none;
}

@keyframes scroll {
    0% {
        height: 12px;
    }
    70% {
        height: 49px;
    }
    100% {
        height: 49px;
    }
}

@media all and (min-width: 560px) {
    .top-header__logo {
        width: 100%;
        height: calc(60% - 80px);
        max-width: 318px;
        padding: 0 50px;
        top: 48%;
    }

    .top-header__logo img {
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: contain;
        font-family: 'object-fit: contain;'; /*IE対策*/
    }

    .top-header__btn {
        bottom: 90px;
    }

    .top-header__btn a {
        width: 150px;
        height: 80px;
    }
    
    .top-header__btn a:before {
        width: 7px;
        height: 12px;
        background: url(../images/common/arrow_bottom_pc.svg) no-repeat center bottom;
        top: 60px;
    }

    @keyframes scroll {
        0% {
            height: 12px;
        }
        70% {
            height: 59px;
        }
        100% {
            height: 59px;
        }
    }
}

@media all and (min-width: 560px) and (max-height: 611px) {
    .top-header__logo {
        width: 100%;
        height: calc(60% - 50px);
    }

    .top-header__btn {
        bottom: 60px;
    }

    .top-header__btn a {
        font-size: 14px;
        width: 120px;
        height: 60px;
    }

    .top-header__btn a:before {
        top: 45px;
    }
}

/* ----------------------------------------
second Header
---------------------------------------- */

.second-header {
    height: 174px;
    flex-direction: column;
    justify-content: flex-end;
    margin: 0 0 45px;
    border-bottom: 1px solid #2D2A25;
}

.header__title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.4;
    padding: 0 0 0 30px;
}
.header__title span {
    font-size: 80%;
}

@media all and (min-width: 560px) {
    .second-header {
        height: 207px;
        border-width: 2px;
    }

    .header__title {
       font-size: 40px;
       line-height: 1.8;
       padding: 0 0 0 100px;
    }
}

/*----------------------------------------
Footer
---------------------------------------- */

footer {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 35px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.footer__copy {
    font-size: 12px;
    line-height: 1;
    margin: 0;
}

@media all and (min-width: 560px) {
    footer {
        height: 40px;
    }
}

/* ----------------------------------------
animation
---------------------------------------- */

.fadeIn {
    opacity: 0;
    transition: opacity 1s ease;
}

.fadeIn.on {
    opacity: 1;
}

.fadeUp {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 1s ease, transform 1s ease;
}

.fadeUp.on {
    opacity: 1;
    transform: translateY(0);
}

/* ----------------------------------------
top
---------------------------------------- */
#news {
    padding: 70px 0 50px;
}

.top-news__list {
    overflow: visible!important;
    margin: 0 0 45px;
}

.top-news__list__image {
    height: 52vw;
}

.top-news__list__image div {
    height: 100%;
    background: no-repeat center / cover;
}

.top-news__list__text {
    padding: 15px 20px 0;
}

/* .top-news__list__title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; */
    line-height: 1.6;
    letter-spacing: .05em;
    font-weight: 500;
    margin: 0 0 .2em;
}

.top-news__list__data__flex {
    font-size: 12px;
}

.top-news__list__cat {
    color: #E65300;
    margin-left: 1em;
}

.news-button-prev,
.news-button-next {
    width: 40px;
    height: 52vw;
    margin-top: 0;
    background: url(../images/common/slide-btn.svg) no-repeat center / 30px auto;
    top: 0;
    outline: none!important;
}

.news-button-next {
    right: -20px;
}

.news-button-prev {
    left: -20px;
    transform: scale(-1,1);
}

.top-news__list .swiper-button-disabled {
    opacity: 0;
}

@media all and (max-width: 374px) {
    
}

@media all and (min-width: 560px) {
    #news {
        padding: 88px 0 95px;
    }
    
    .top-news__list {
        margin: 0 0 57px;
    }
    
    .top-news__list__image {
        height: 17.5vw;
        max-height: 218px;
    }
    
    .top-news__list__text {
        padding: 25px 0 0;
    }
    
    .top-news__list__title {
       font-size: 18px;
       line-height: 1.33;
        margin: 0 0 1.3em;
    }
    
    .news-button-prev,
    .news-button-next {
        width: 50px;
        height: 17.5vw;
        max-height: 218px;
        margin-top: 0;
        background: url(../images/common/slide-btn.svg) no-repeat center / 40px auto;
        top: 0;
    }
    
    .news-button-next {
        right: -75px;
    }
    
    .news-button-prev {
        left: -75px;
    }
}

@media all and (min-width: 560px) and (max-width: 1280px) {
    .news-button-next {
        right: -25px;
    }
    
    .news-button-prev {
        left: -25px;
    }
}

#concept {
    padding: 75px 0 15px;
    background: #E65300;
}

.concept__title {
    font-size: 24px;
    line-height: 1.41;
    font-weight: 500;
    letter-spacing: .075em;
    margin: 0 0 1.4em;
}

.concept__text {
    line-height: 2.26;
    font-weight: 500;
    letter-spacing: .075em;
    position: relative;
    z-index: 1;
}

.concept__img {
    width: 65vw;
    height: 65vw;
    position: relative;
    top: -65px;
    right: -40px;
    margin-left: auto;
    background: #E65300;
    z-index: -1;
}

.fixed--wrapper {
    max-width: 100%;
    max-height: 100%;
    width: 150px;
    height: 150px;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    margin-left: auto;
    transition: all 2s cubic-bezier(.19, 1, .22, 1);
}

.fixed--img img {
    width: 70vw;
    max-width: none;
    position: absolute;
    top: 0;
    right: 0;
}

@media all and (max-width: 374px) {
    
}

@media all and (min-width: 560px) {
    #concept {
        padding: 170px 0 177px;
    }

    .concept__inner {
        max-width: 1140px;
        margin: 0 auto;
        position: relative;
    }
    
    .concept__title {
        font-size: 30px;
        line-height: 1.73;
        margin: 0 0 2.7em;
    }
	
	.concept__text {
		font-size: 20px;
	}
    
    .concept__img {
        width: 500px;
        height: 500px;
        position: absolute;
        top: -70px;
        right: 0;
    }

    .fixed--img img {
        width: 500px;
        right: 0;
    }

    .fixed--wrapper {
        width: 250px;
        height: 250px;
    }
}

@media all and (min-width: 560px) and (max-width: 959px) {
    .concept__img {
        width: 400px;
        height: 400px;
    }

    .fixed--img img {
        width: 400px;
    }
}

.float--bg {
    display: flex;
    width: 100%;
    height: 70px;
    overflow: hidden;
    background: #fff;
    position: relative;
}

.float--bg > div {
    width: 730px;
    height: 100%;
    background: url(../images/top/float_bg.svg) no-repeat left center / 713px auto;
    position: absolute;
    top: -1px;
    will-change: animation;
}

.float--bg > div:nth-child(1) {
    left: 0;
    animation: about--bg1 35s linear infinite;
}

.float--bg > div:nth-child(2) {
    left: 730px;
    animation: about--bg2 35s linear infinite;
}

.float--bg > div:nth-child(3) {
    left: 1460px;
    animation: about--bg3 35s linear infinite;
}

@keyframes about--bg1 {
    0% {
        left: 0;
    }
    100% {
        left: -730px;
    }
}

@keyframes about--bg2 {
    0% {
        left: 730px;
    }
    100% {
        left: 0;
    }
}

@keyframes about--bg3 {
    0% {
        left: 1460px;
    }
    100% {
        left: 730px;
    }
}

@media all and (min-width: 560px) {
    .float--bg {
        height: 82px;
    }
    
    .float--bg > div {
        width: 845px;
        background-size: 822px auto;
        top: 0;
    }

    .float--bg > div:nth-child(2) {
        left: 845px;
    }
    
    .float--bg > div:nth-child(3) {
        left: 1690px;
    }
    
    @keyframes about--bg1 {
        0% {
            left: 0;
        }
        100% {
            left: -845px;
        }
    }
    
    @keyframes about--bg2 {
        0% {
            left: 845px;
        }
        100% {
            left: 0;
        }
    }
    
    @keyframes about--bg3 {
        0% {
            left: 1690px;
        }
        100% {
            left: 845px;
        }
    }
}

@media all and (min-width: 560px) and (max-width: 959px) {
   
}

#products {
    padding: 72px 0 70px;
}

.products__leadText {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 4em;
    font-weight: 500;
	padding: 0 1em;
}

.products__container {
    padding: 0 0 70px;
}

.products__container__title {
    font-size: 18px;
    text-align: center;
    color: #E65300;
    line-height: 1.5;
    margin: 0 0 2.3em;
	font-weight: bold;
}
.products__container__title:not(:first-of-type){
	margin-top: 60px;
}

.products__container__title span {
    display: inline-block;
    border-bottom: 1px solid #E65300;
}
.products__container__gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
/*	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));*/
	gap: 10px;
}
.products__container__gallery__item {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 1s ease, transform 1s ease;
}
.on .products__container__gallery__item {
    opacity: 1;
    transform: translateY(0);
}
.products__container__gallery__item img {
	width: 100%;
	border-radius: 8px;
}
.products__container__gallery__item.item1 {
	grid-column: 1 / 3;
	transition-delay: .6s;
}
.products__container__gallery__item.item2 {
	 transition-delay: .6s
}
.products__container__gallery__item.item3 {
	 transition-delay: .8s
}
.products__container__gallery__item.item4 {
	 transition-delay: .8s
}
.products__container__gallery__item.item5 {
	 transition-delay: 1.0s
}
.products__container__gallery__item.item6 {
	 transition-delay: 1.0s
}
.products__container__gallery__item.item7 {
	 transition-delay: 1.2s
}
.products__container__gallery__item.item8 {
	display: none;
}

.products__moreText {
	position: relative;
	box-sizing: border-box;
	font-size: 16px;
    font-weight: 500;
    background: #fff;
    width: 100%;
    max-width: 600px;
    padding: 2em 1em;
    border-radius: 16px;
    text-align: center;
    display: table;
    margin: 70px auto;
}
.products__moreText:after {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 255, 255, 0);
	border-bottom-color: #ffffff;
	border-width: 20px;
	margin-left: -20px;
}

.mobile-only,
.desktop-only {
    display: none;
}

@media (max-width: 559px) {
    .mobile-only {
        display: block;
    }
}

@media (min-width: 560px) {
    .desktop-only {
        display: block;
    }
}


/*
.products__wrapper.bonopan {
	margin-bottom: 50px;
}
.products__wrapper__box {
    position: relative;
    margin-top: 40px;
}

.products__wrapper__box__title {
    font-size: 19px;
    font-weight: 600;
		line-height: 1.5;
    margin: 0 0 1em;
}

.products__wrapper__box__title span {
	font-size: 15px;
}

.products__wrapper__box__title span.txt_or {
	display: block;
	margin-bottom: -10px;
}

.products__wrapper__box__title.center {
    text-align: center;
    margin: 0 0 .6em;
}

.products__wrapper__box__text {
    width: 60%;
    font-size: 14px;
    line-height: 1.85;
    margin: 0 0 .7em;
}

.products__wrapper__box__price {
    font-size: 18px;
    letter-spacing: .075em;
    line-height: 1.2;
}

.products__wrapper__box__price2 {
    font-size: 12px;
    padding-left: 1.95em;
}

.products__wrapper__box__price.center,
.products__wrapper__box__price2.center {
    text-align: center;
}

.products__wrapper__box__price2.center {
    padding-left: 1em;
}

.products__wrapper__box__price span {
    font-size: 12px;
}

.products__wrapper__box__img {
    width: 138%;
		max-width: 320px;
    position: absolute;
    top: -44px;
    left: 60%;
    z-index: -1;
    transition: all 2s 1s cubic-bezier(.19, 1, .22, 1);
    opacity: 0;
}

.on .products__wrapper__box__img {
    top: 10px;
    left: calc(50vw - 10px);
    opacity: 1;
}

.products__wrapper__box__img-main {
    position: relative;
    top: -15px;
}

.products__wrapper__box__img-main img {
    width: 100%;
    position: relative;
    max-width: none;
}

.products__wrapper__box__img-shadow {
    width: 100%;
    height: 100%;
    position: absolute;
    top: -15px;
    left: 0;
    background: no-repeat left top / contain;
    z-index: -1;
    transition: all .5s 1.3s cubic-bezier(.19, 1, .22, 1), opacity 0s 0s linear;
    opacity: 0;
}

.products__wrapper__box__img-shadow.on {
    opacity: 1;
    transform: translate(10px,15px);
}

.products__wrapper__box__img-main.img1 img,
.products__wrapper__box__img-shadow.shadow1 {
    left: -65px;
}

.products__wrapper__box__img-main.img2 img,
.products__wrapper__box__img-shadow.shadow2 {
    left: -45px;
}

.products__wrapper__box__img.img3 {
    top: -30px;
}

.on .products__wrapper__box__img.img3 {
    top: 22px;
}

.products__wrapper__box__img-main.img3 img,
.products__wrapper__box__img-shadow.shadow3 {
    left: -85px;
}

.products__wrapper2__box:not(:last-of-type){
	margin-bottom: 30px;	
}
.products__wrapper2__box__img {
    position: relative;
}
.open_toast .products__wrapper2__box__img {
    margin: 0 0 10px;
}
.rusk .products__wrapper2__box__img {
    margin: 0 5vw -30px;
}


.products__wrapper2__box__img img {
    max-width: none;
    width: 100%;
}

.products__wrapper2__box__img-main {
    position: relative;
    z-index: 1;
}

.products__wrapper2__box__img-shadow {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.products__wrapper2__box__img-shadow.on,
.products__croissantItem_img__shadow.on {
    opacity: 1;
    transform: translate(10px,10px);
    transition: all .5s .5s cubic-bezier(.19, 1, .22, 1), opacity 0s 0s linear;
}
.products__wrapper__box2__text {
   text-align: center;
}

.products__wrapper__box2__text p {
    display: inline-block;
    font-size: 14px;
    margin: 0 0 .7em;
}


.open_toast .products__wrapper2__box__img {
	margin-left: -14vw;
	margin-right: -14vw	;
}
.products__croissantArea,
.products__softcreamArea {
	margin: 60px auto;
	width: 100%;
	transform: translateY(30px);
	opacity: 0;
	box-sizing: border-box;
}
.products__croissantArea.on,
.products__softcreamArea.on {
	transform: translateY(0);
	transition: 1s;
	opacity: 1;	
}
.products__croissantArea_bg {
	background: #2BA2DA;
	padding: 45px 30px;
	border-radius: 5px;
	margin-left: -5px;
	margin-right: -5px;
}
.products__croissantArea_head {
	color: #FFFF00;
	padding-bottom: 5px;
	border-bottom: 1px solid;
	display: table;
	margin: 0 auto 40px;
	font-size: 20px;
	text-align: center;
	font-weight: bold;
}
.products__croissantArea_text {
	line-height: 1.85;
	font-size: 14px;
	color: white;
	margin-bottom: 1em;
}
.products__croissantList {
	display: grid;
	gap: 30px;
}
.products__croissantItem_img {
	position: relative;
	margin-left: -30px;
	margin-right: -30px;
	text-align: center;
}
.products__croissantItem_img__main {
	position: relative;
	z-index: 1;
}
.products__croissantItem_img__shadow {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}
.products__croissantItem_title {
	color: white;
	font-size: 19px;
	font-weight: bold;
	margin-bottom: 10px;
	text-align: center;
}
.products__croissantItem_price {
	text-align: center;
}
*/

.products__softcreamArea {
	padding-top: 20px;
}
.products__softcreamArea_bg {
	position: relative;
	background: #7FB2CA;
	padding: 25px 15px;
}
.products__softcreamArea_en {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	width: 250px;
}
.products__softcreamArea_label {
	position: absolute;
	top: 35px;
	left: 5%;
	transform: translateX(-50%);
	width: 44.5%;
}
.products__softcreamArea_bull {
	position: absolute;
	right: -23px;
	right: 10%;
	transform: translate(50%,50%);
	bottom: 0%;
	width: 49.3%;
}
.products__softcream_textArea {
	color: white;
	padding: 0 1em;
}
.products__softcream_title {
	font-size: 19px;
	font-weight: bold;
	margin: 1em 0;
	text-align: center;
	line-height: 1.5;
}
.products__softcream_text {
	line-height: 1.85;
	margin-bottom: 1em;
}
.products__softcream_price {
	font-size: 18px;
}
.products__softcream_price span {
	font-size: 12px;
}


@media all and (min-width: 560px) {
    #products {
        padding: 90px 0;
    }

	.products__leadText {
		text-align: center;
	}
    
    .products__container {
        padding: 0 0 60px;
    }
	
	.products__container__gallery {
		grid-template-columns: repeat(3, 1fr);	
		gap: 20px;
	}
	.products__container__gallery__item img {
		border-radius: 15px;
	}
	.products__container__gallery__item.item1 img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		height: 100%;
		object-fit: cover;
	}
	.products__container__gallery__item.item2 {
		 transition-delay: .8s
	}
	.products__container__gallery__item.item3 {
		 transition-delay: 0.8s
	}
	.products__container__gallery__item.item4 {
		 transition-delay: 1.0s
	}
	.products__container__gallery__item.item5 {
		 transition-delay: 1.2s
	}
	.products__container__gallery__item.item6 {
		 transition-delay: 1.2s
	}
	.products__container__gallery__item.item7 {
		 transition-delay: 1.4s
	}
	.products__container__gallery__item.item8 {
		display: block;
		 transition-delay: 1.6s
	}
	.products__moreText {
		font-size: 18px;
		margin-bottom: 100px;
	}
	
/*
    .products__container.container1 {
        margin: 0 -50px;
    }
    
    .products__container__title {
        font-size: 26px;
        margin: 0 0 3.3em;
    }
    
    .products__container__title span {
        border-width: 2px;
    }

    .products__wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
    }
    
    .products__wrapper__box {
        display: flex;
        flex-direction: column-reverse;
        width: 50%;
        margin: 0 0 30px!important;
		}
    
    .products__wrapper__box__title {
        font-size: 28px;
        text-align: center;
        margin: 0 0 .8em!important;
    }
	.products__wrapper__box__title span {
		font-size: 18px;
	}
    
    .products__wrapper__box__text {
        width: 100%;
        font-size: 15px;
        text-align: left;
        margin: 0 0 2em;
        padding: 0 135px;
        box-sizing: border-box;
    }

    .products__wrapper__box__text.text3 {
        margin: 0 0 1.1em;
    }
    
    .products__wrapper__box__price {
        font-size: 22px;
        text-align: center;
    }
    
    .products__wrapper__box__price span {
        font-size: 14px;
    }

    .products__wrapper__box__price2 {
        font-size: 16px;
        text-align: center;
        padding: 0;
    }

    .products__wrapper__box__price2 span {
        font-size: 12px;
    }
    
    .products__wrapper__box__img {
				position: relative;
        width: 100%;
        max-width: none;
        top: 40px!important;
        left: auto!important;
        z-index: 1;
        text-align: center;
        margin: 0 0 16px;
    }

    .on .products__wrapper__box__img {
        top: 0!important;
        left: auto!important;
        transition-delay: .1s;
    }

    .on .products__wrapper__box__img.move2 {
        transition-delay: .4s;
    }

    .products__wrapper__box__img-main img {
        left: 0!important;
    }

    .products__wrapper__box__img-shadow {
        left: 0!important;
        transition-delay: .5s;
    }

    .products__wrapper .products__wrapper__box:nth-child(even) .products__wrapper__box__detail .move {
        transition-delay: .5s;
    }

    .products__wrapper .products__wrapper__box:nth-child(even) .products__wrapper__box__img-shadow {
        transition-delay: .8s;
    }
    
    .products__wrapper2__box + .products__wrapper2__box {
        margin-top: 30px;
    }

    .products__wrapper__box2__text {
        margin: 0 0 10px;
    }
    
    .products__wrapper__box2__text p {
        font-size: 15px;
        text-align: center;
        margin: 0 0 .4em;
    }

    .products__wrapper2 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
    }

    .products__wrapper2__box {
			width: calc(100% / 2);
        margin: 0 0 30px!important;
		}
    .products__wrapper2__box.culumn3 {
        width: calc(100% / 3);
    }
	
    .products__wrapper2__box__img-shadow.shadow2.on,
    .products__croissantItem_img__shadow.shadow2.on {
        transition-delay: .8s;
    }

    .products__croissantItem_img__shadow.shadow3.on,
    .products__wrapper2__box__img-shadow.shadow3.on {
        transition-delay: 1.2s;
    }
	.rusk .products__wrapper2__box__img,
	.open_toast .products__wrapper2__box__img {
		margin-left: 0;
		margin-right: 0;
	}
	
	.products__croissantArea {
		max-width: calc(1280px + 100px);
		padding: 0 50px;
	}
	.products__croissantArea_head {
		font-size: 26px;
	}
	.products__croissantArea_text {
		text-align: center;
	}
	.products__croissantList {
		grid-template-columns: 1fr 1fr 1fr;
	}
	*/
	
	
	.products__softcreamArea_bg {
		display: grid;
		grid-template-columns: 43% auto;
		align-items: center;
		gap: 7%;
	}
	.products__softcreamArea_en {
		transform: none;
		right: 10px;
		left: auto;
		top: -23px;
		width: 48.2%;
	}
	.products__softcreamArea_label {
		width: 19.9%;
		top: 10px;
		left: 2%;
		transform: translateX(-50%);
	}
	.products__softcreamArea_bull {
		width: 24.3%;
		bottom: -50px;
    right: -60px;
    transform: none;
	}
	.products__softcream_img {
		width: 100%;
    height: 100%;
	}
	.products__softcream_img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.products__softcream_title {
		font-size: clamp(20px,2.4vw,28px);
		text-align: left;
		margin-top: 0;
	}
	.products__softcream_text {
		padding-right: 32.3%;
	}
	.products__softcreamArea .products__wrapper__box__price {
		text-align: left;
	}

}
@media all and (min-width: 560px) and (max-width: 959px) {
    .products__container.container2 {
        margin: 0 -30px;
    }

    .products__wrapper__box__title {
        font-size: 21px;
    }

    .products__wrapper__box__text {
        padding: 0;
    }

    .products__wrapper__box__detail {
        padding: 0 50px;
    }

    .products__wrapper2__box__detail {
        padding: 0 20px;
    }
}

#about {
    padding: 0 0 95px;
    background: #E65300;
}

.about__px--area {
    margin: 0 0 -20px;
    position: relative;
}

.about__px--1,
.about__px--2 {
    will-change: transform;
}

.about__px--1 {
    width: 77%;
    margin-left: auto;
    position: relative;
    top: -100px;
}

.about__px--2 {
    width: 50%;
    position: relative;
    left: 30px;
    top: -180px;
}

.about__px--text {
    font-size: 31px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0;
    position: absolute;
    top: 80px;
    right: 20px;
}

.about__px--text.on {
    transition-delay: 1s;
}

.about__flex {
    max-width: 500px;
    margin: auto;
}

.about__flex + .about__flex {
    margin-top: 75px;
}

.about__flex__1 {
    margin: 0 -10px 28px;
    position: relative;
}

.about__flex__1 img {
    max-width: none;
    width: 100%;
		border-radius: 202.5px;
}

.about__flex__1:after {
    content: "";
    position: absolute;
    right: -20px;
    pointer-events: none;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .5s .6s linear,transform .5s .6s linear;
}

.about__flex__1-1:after {
    width: 159px;
    height: 162px;
    background: url(../images/top/about_illust1.png) no-repeat right top / contain;
    top: 77%;
}

.about__flex__1-2:after {
    width: 152px;
    height: 137px;
    background: url(../images/top/about_illust2.png) no-repeat right top / contain;
    top: 89%;
}

.about__flex__1-3:after {
    width: 158px;
    height: 159px;
    background: url(../images/top/about_illust3.png) no-repeat right top / contain;
    top: 82%;
}

.about__flex__1-4:after {
    width: 174px;
    height: 196px;
    background: url(../images/top/about_illust4_sp.png?2) no-repeat right top / contain;
    top: 67%;
}

.about__flex__1.on:after {
    transform: translateY(0);
    opacity: 1;
}

.about__px--1 img,
.about__px--2 img {
    max-width: none;
    width: 100%;
}

.about__flex__2 {
    position: relative;
}

.about__flex__2__title {
    font-size: 17px;
    font-weight: 600;
    color: #D9C79E;
    line-height: 1.76;
    letter-spacing: .075em;
    margin: 0 0 1.6em;
}

.about__flex__2__text {
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: .075em;
}

@media all and (min-width: 769px) {
    #about {
        padding: 0 0 155px;
    }

    #about .inner {
        max-width: calc(1240px + 100px);
    }
    
    .about__px--area {
        margin: 0 0 -100px;
    }
    
    .about__px--1 {
        width: calc(54% + 40px);
    }
    
    .about__px--2 {
        width: 40%;
        left: 100px;
        top: -270px;
    }

    .about__px--text {
        font-size: min(6vw,70px);
        line-height: 1.25;
        top: 30%;
        right: auto;
        left: 56%;
    }

    .about__flex {
        max-width: 100%;
        display: flex;
        flex-direction: row-reverse;
    }
    
    .about__flex + .about__flex {
        margin-top: 80px;
    }
    
    .about__flex__1 {
        width: 50%;
        margin: 0;
    }
    
    .about__flex__1:after {
        width: 42%;
        top: 50%;
        right: 87%;
    }

    .about__flex__1-1:after {
        max-width: 243px;
        height: 247px;
    }
    
    .about__flex__1-2:after {
        max-width: 232px;
        height: 210px;
        right: 85.5%;
    }
    
    .about__flex__1-3:after {
        max-width: 242px;
        height: 243px;
        right: 84%;
    }
    
    .about__flex__1-4:after {
        max-width: 255px;
        height: 401px;
        background: url(../images/top/about_illust4.png?2) no-repeat right top / contain;
        top: 7%;
        right: 85%;
    }

    .about__flex__2 {
        width: 50%;
        box-sizing: border-box;
        padding: 50px 0 0 30px;
        position: relative;
    }

    .about__flex__2__title {
        font-size: 26px;
        line-height: 1.61;
        margin: 0 0 1.6em;
    }
    
    .about__flex__2__text {
        max-width: 375px;
        font-size: 15px;
        line-height: 2.26;
    }
}

@media all and (min-width: 769px) and (max-width: 1230px) {
    .about__flex__1:after {
        width: 39%;
        right: 38vw;
    }

}

@media all and (min-width: 769px) and (max-width: 1130px) {
    .about__flex {
        justify-content: space-between;
        align-items: flex-start;
    }

    .about__flex__1:after {
        width: 36%;
        right: 34vw;
    }

    .about__flex__2 {
        width: calc(50% - 50px);
        padding: 0;
    }

}

@media all and (min-width: 769px) and (max-width: 959px) {
    .about__flex__2__title {
        font-size: 24px;
    }
}

@media all and (max-width: 374px) {
    .about__flex__1-1:after {
        width: 119px;
        height: 162px;
    }
    
    .about__flex__1-2:after {
        width: 112px;
    }
    
    .about__flex__1-3:after {
        width: 118px;
    }
    
    .about__flex__1-4:after {
        width: 138px;
    }
}

.shop__inner {
    padding: 0 0 50px;
}

.shop__img {
    width: 100%;
    margin: 0 0 45px;
}

.shop__img img {
    width: 100%;
    max-width: none;
}

.shop__flex__1 {
    padding: 0 0 50px;
}

.shop__flex__1__title {
    font-size: 17px;
    letter-spacing: .075em;
    font-weight: 600;
}

.shop__flex__1__text {
    margin: 0 0 .9em;
}

.shop__flex__1__dl {
    flex-wrap: wrap;
    line-height: 1.8;
    margin: 0 0 2em;
}

.shop__flex__1__dl dt {
    width: 6em;
}

.shop__flex__1__dl dd {
    width: calc(100% - 6em);
}

.shop__btn a {
    width: 165px;
    height: 90px;
    font-size: 20px;
}

.shop__btn a:before {
    width: 66px;
    height: 7px;
    background: url(../images/common/arrow_right_l.svg) no-repeat right center;
    top: 43%;
    left: 143px;
    animation: shopBtn 1.3s linear infinite;
}

@keyframes shopBtn {
    0% {
        width: 6px;
    }
    70% {
        width: 66px;
    }
    100% {
        width: 66px;
    }
}

#map {
    height: 300px;
}

.pc-item {
    display: none!important;
}
.line--bnr {
	margin: 0 0 50px;
}

@media all and (min-width: 720px) {
    .shop__inner {
        padding: 0 0 120px;
    }
    
    .shop__img {
        max-width: calc(1240px + 100px);
        margin: 100px auto 60px;
        padding: 0 50px;
        box-sizing: border-box;
    }

    .shop__flex {
        display: flex;
        justify-content: space-between;
        margin: 0 0 100px;
    }

    .shop__flex__1,
    .shop__flex__2 {
        width: 50%;
        box-sizing: border-box;
    }

    .shop__flex__1 {
        padding: 0 50px 0 100px;
    }
    
    .shop__flex__1__title {
        font-size: 20px;
    }

    .shop__flex__1__inner {
        padding-left: 1em;
    }
    
    #map {
        height: 100%;
    }

    .shop__btn a {
        width: 244px;
        height: 130px;
        font-size: 26px;
    }
    
    .shop__btn a:before {
        width: 129px;
        height: 9px;
        background: url(../images/common/arrow_right_l_pc.svg) no-repeat right center;
        left: 205px;
    }

    @keyframes shopBtn {
        0% {
            width: 12px;
        }
        70% {
            width: 129px;
        }
        100% {
            width: 129px;
        }
    }

    .pc-item {
        display: block!important;
    }

    .sp-item {
        display: none!important;
    }
}

@media all and (min-width: 720px) and (max-width: 959px) {
    .shop__flex__1 {
        padding: 0 50px 0 0;
    }
}

#sns {
    padding: 0 0 65px;
}

.sns__container {
    margin: 0 -10px 45px;
}

.sns__container__icon {
    text-align: center;
    margin: 0 0 50px;
}

.ig__list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap :3px;
}

.ig__list li {
    height: 0;
    padding-top: 100%;
    position: relative;
    margin: 0;
    overflow: hidden;
}
.ig__list li img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.ig__list_bg {
	background: #ffffff57;
	padding: 3px;
}

@media all and (max-width: 374px) {
   
}

@media all and (min-width: 560px) {
    #sns {
        padding: 0 0 60px;
    }

    .sns__container {
        max-width: 740px;
        margin: 0 auto 45px;
    }
    
    .sns__container__icon {
        margin: 0 0 90px;
    }
    
    .ig__list {
		
    }


}

@media all and (min-width: 720px) {
    .line--bnr {
        margin-bottom: 0;
    }
}

/*--------------------------
投稿用
--------------------------*/

.alignleft {
    float: left;
    margin: 0px 20px 20px 0;
    font-size: 0.9em;
}

.alignright {
    float: right;
    margin: 0px 0 20px 20px;
    font-size: 0.9em;
}

.aligncenter {
    display: block;
    margin: 0 auto 20px;
    font-size: 0.9em;
}

.post table {
    border-collapse: collapse;
}

.wp-pagenavi {
    display: flex;
    justify-content: center;
    text-align: center;
}

.wp-pagenavi>a,
.wp-pagenavi>span {
    line-height: 1;
    color: #2d2a25;
    margin: 0 22px;
    padding: 0;
    border: none;
}

.wp-pagenavi>a.page,
.wp-pagenavi>span {
    font-size: 15px;
}

.wp-pagenavi>a:not(.page) {
    width: 18px;
    height: 18px;
    text-indent: -9999px;
    white-space: nowrap;
    background: url(../images/common/pager.svg) no-repeat center / contain;
}

.wp-pagenavi>a:not(.page).previouspostslink {
    transform: scale(-1,1);
}


.wp-pagenavi>span {
    font-weight: normal!important;
    text-decoration: underline!important;
}

.wp-pagenavi>span.current {
    color: #E65300;
}

.detail__btn {
    width: 200px;
    margin: 0 auto;
    border: 2px solid #231815;
}

.paging {
    width: 100%;
    max-width: 217px;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    padding: 3.5em 0 0;
}

.paging li a {
    display: block;
    width: 100%;
    height: 100%;
}

.paging li.back a {
    font-size: 17px;
    color: #E65300;
    letter-spacing: .05em;
    padding: .1em 0;
}

.paging li:not(.back) a {
    width: 18px;
    height: 18px;
    text-indent: -9999px;
    white-space: nowrap;
    background: url(../images/common/pager.svg) no-repeat center / contain;
}

.paging li.prev a {
    transform: scale(-1,1);
}

@media all and (min-width: 560px) {
    .alignleft,
    .alignright,
    .aligncenter,
    .alignnone {
        max-width: 80%;
    }

    .paging {
        padding: 6em 0 0;
    }

    .wp-pagenavi>a.page,
    .wp-pagenavi>span {
        font-size: 18px;
    }

    .wp-pagenavi>a:not(.page) {
        width: 20px;
        height: 20px;
    }

}


/* ----------------------------------------
second
---------------------------------------- */

.main__container.post {
    padding: 0 0 62px;
}

.main__container.news {
    max-width: 760px;
    margin: 0 auto;
}

@media all and (min-width: 560px) {
    .main__container.post {
        padding: 50px 0 115px;
    }
}

/* ----------------------------------------
news
---------------------------------------- */
.news__category__list {
    justify-content: center;
    margin: 3px 0 40px;
}

.news__category__list li {
    min-width: 45px;
    height: 30px;
    margin: 0 4px;
}

.news__category__list li a {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    line-height: 1;
    padding: 0 1em;
    border: 1px solid #2D2A25;
    box-sizing: border-box;
}

.news__category__list li.active a {
    color: #fff;
    border-color: #E65300;
    background: #E65300;
}

.news__list {
    margin: 0 0 40px;
}

.news__list li {
    padding: 0 0 20px;
    margin: 0 0 20px;
    border-bottom: 1px solid #2D2A25;
}

.news__list li a {
    display: flex;
    justify-content: space-between;
}

.news__list__image {
    width: 130px;
    height: 81px;
}

.news__list__image > div {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.news__list__text {
    width: calc(100% - 130px - 15px);
}

.news__list__data__flex {
    margin: 0 0 5px;
}

.news__list__date,
.news__list__cat {
    font-size: 12px;
    line-height: 1;
}

.news__list__cat {
    color: #E65300;
    margin-left: 1em;
}

.news__list__title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-weight: 600;
    line-height: 1.6;
}

.news__list__content {
    display: none;
}

.main__container__title {
    font-size: 17px;
    font-weight: bold;
    line-height: 1.8;
    margin: 0 0 1.1em;
}
.news__thumb {
    width: calc(100% + 70px);
    margin-left: -35px;
/*      height: 60vw;
    overflow: hidden; */
	text-align: center;
}
/* .news__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	font-family: 'object-fit: contain;';
}
 */

.detail__txt {
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: .04em;
    padding: 0;
}

.detail__txt > * {
	margin-bottom: 2em;
}

.detail__txt a:not(.wp-block-button a) {
    word-break: break-all;
	text-decoration: underline;
	color: #E65300;
}
.detail__txt * {
	max-width: 100%;
}
.detail__txt h2,
.detail__txt h3,
.detail__txt h4 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.75;
    margin: 2em 0;
}
.detail__txt h2 {
    margin: 3em 0 2em;
    padding: 0 0 .3em;
    border-bottom: 4px solid #E65300;
}
.detail__txt h3 {
    padding-left: .5em;
    border-left: 4px solid #E65300;
}
.detail__txt figcaption {
	 font-size: 14px;
    text-align: center;
		font-weight: 500;
}
.detail__txt ._item {
	border: 2px solid;
	padding: 1em;
	border-radius: 5px;
	background: rgba(255,255,255,0.20);
}
.wp-block-media-text {
	gap: 1.5em;
}
p.has-background {
	padding: .5em;
}

@media all and (max-width: 374px) {
    .news__category__list li {
        width: 65px;
        height: 25px;
    }
    
    .news__category__list li a {
        font-size: 12px;
    }

    .news__list__image {
        width: 140px;
        height: 90px;
    }

    .news__list__text {
        width: calc(100% - 140px - 15px);
    }

    .news__list__date,
    .news__list__cat {
        font-size: 10px;
    }
}

@media all and (min-width: 560px) {
    .news__category__list {
        margin: -10px 0 120px;
    }
    
    .news__category__list li {
        width: 135px;
        height: 30px;
        margin: 0 12px;
    }
    
    .news__category__list li a {
        font-size: 18px;
    }
    
    .news__list {
        margin: 0 0 130px;
    }
    
    .news__list li {
        padding: 0 0 30px;
        margin: 0 0 30px;
    }
	
	.news__list li a {
		align-items: center;
	}
    
    .news__list__image {
		width: 200px;
		height: 126px;
    }

    .news__list__text {
        width: calc(100% - 200px - 20px);
        max-width: 695px;
    }
    
    .news__list__data__flex {
        margin: 0 0 19px;
    }

    .news__list__data__flex.detail {
        margin: 0 0 11px;
    }
    
    .news__list__title {
        font-size: 18px;
        font-weight: bold;
        -webkit-line-clamp: 2;
        margin: 0 0 1em;
    }
    
    .main__container__title {
        font-size: 20px;
        margin: 0 0 1.4em;
    }
    
/*     .news__thumb {
        width: 100%;
        margin: 0;
        height: 400px;
    } */

    .detail__txt {
        padding: 0;
    }

	.wp-block-media-text {
		gap: 0;
	}
}

@media all and (min-width: 769px) {
	.news__list__image {
		width: 350px;
    	height: 218px;
	}

    .news__list__text {
        width: calc(100% - 350px - 40px);
        max-width: 695px;
    }

    .news__list__content {
        display: block;
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        line-height: 2.2;
    }
}

/* ----------------------------------------
privacy
---------------------------------------- */
.main__container.page3 {
    padding: 0 0 30px;
}

.privacy__box {
    line-height: 2;
}

.main__container .privacy__box:not(:last-of-type) {
    margin: 0 0 4em;
}

.privacy__box dl {
    margin: 0;
}

.privacy__box dd {
    margin: 0 0 2em;
}

.privacy__title {
    font-weight: 600;
    margin: 0 0 .2em;
}

.privacy__box__title {
    margin: 0 0 .6em;
}

.privacy__box dd a {
    text-decoration: underline;
}

@media all and (min-width: 560px) {
    .main__container.page3 {
        padding: 50px 0 77px;
    }

    .privacy__box dt {
        font-weight: bold;
    }
}


/* ----------------------------------------
contact
---------------------------------------- */

#contact {
    max-width: 560px;
    margin: 0 auto 10px;
}

.contact__title {
    font-weight: bold;
    font-size: 14.5px;
    margin: 0;
}

.contactBnr_reserve {
    border: 4px solid #1e7b0f;
    display: block;
    padding: 1em 1em;
    margin-bottom: 3em;
    background: #ffffffb3;
}

.contactBnr_head {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    background: #1e7b0f;
    color: white;
}

.contactBnr_reserve__btn {
    display: table;
    border-radius: 35px;
    margin: 0 auto;
    padding: 0 2em;
    font-size: 20px;
    color: #1e7b0f;
    border: 2px solid #1e7b0f;
}

.contact__text {
    line-height: 1.8;
    font-size: 14.5px;
    margin: 0 0 2em;
}

#contact_form {
    margin: 6.5em 0 0;
}

.contact_form__table {
    width: 100%;
    border-collapse: collapse;
}

.contact_form__table tr,
.contact_form__table th,
.contact_form__table td {
    display: block;
}

.contact_form__table th,
.contact_form__table td {
    font-weight: normal;
    text-align: left;
}

.contact_form__table th {
    margin: 0 0 1.2em;
}

.contact_form__table td {
    margin: 0 0 1.2em;
    border: 1px solid #E65300;
}

.required {
    font-size: 14px;
    color: #E65300;
}

.contact_form__table input[type="text"],
.contact_form__table input[type="email"],
.contact_form__table textarea {
    width: 100%;
    font-size: 16px;
    padding: .7em .5em;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    box-sizing: border-box;
    -webkit-appearance: none;
}

.contact_form__table textarea {
    height: 170px;
}

.agree-box {
    font-size: 14px;
    line-height: 1.8;
    padding: 2em 0 0;
}

.agree {
    padding: 2em 0 0;
    text-align: center;
}

.agree label input {
    display: none;
}

.agree input+.mwform-checkbox-field-text {
    font-size: 14px;
    font-weight: bold;
    background-image: url(../images/contact/ico_check_off.svg);
    background-size: 16.5px auto;
    background-position: left center;
    background-repeat: no-repeat;
    padding: 0 0 1px 29px;
    cursor: pointer;
}

.agree input:checked+.mwform-checkbox-field-text {
    background-image: url(../images/contact/ico_check.svg);
}

.privacy-link {
    color: #E65300;
    text-decoration: underline;
    padding: 0 26px 0 0;
    background: url(../images/contact/ico_privacy.svg) no-repeat right 13px center;
    background-size: 10px auto;
}

.contact_submit {
    text-align: center;
    padding: 3.5em 0 0;
}

.contact_submit div {
    display: inline-block;
    box-sizing: border-box;
    position: relative;
}

.contact_submit div:first-child {
    margin-right: 10px;
}

.contact_submit div span {
    width: 118px;
    height: 65px;
}

.contact_submit div.submit span:before {
    width: 45px;
    height: 7px;
    background: url(../images/common/arrow_right.svg) no-repeat right center;
    top: 40%;
    left: 103px;
    animation: morebtn 1.3s linear infinite;
}

.mw_wp_form.mw_wp_form_input .contact_submit .back {
    display: none!important;
}

.contact_submit input {
    background-color: transparent;
    border: none;
    border-radius: 0;
    cursor: pointer;
    outline: none;
    padding: .6em 0;
    appearance: none;
    -webkit-appearance: none;

    width: 100%;
    font-size: 15px;
    color: #E65300;
    font-family: 'Roboto', sans-serif;
    letter-spacing: .06em;
    text-align: center;
}

.contact_submit input[name="submitConfirm"] {
    font-size: 14px;
}

.submit.disabled {
    pointer-events: none;
}

.contact_submit .submit.disabled .commonBtn:before {
    display: none;
    animation: none;
}

.contact_submit span+span {
    margin-top: 10px;
}

.mw_wp_form_confirm .contact__textwrap {
    display: none;
}
.mw_wp_form_confirm .contact_form__table td {
    border: 0;
    border-bottom: 1px solid #E65300;
}

.complete__text {
    line-height: 1.8;
    margin: 0 auto 4em;
}

.complete__text p {
    margin: 0 0 2em;
}

@media all and (max-width: 374px) {
    .contact_submit div span {
        width: 108px;
        height: 60px;
    }
}

@media all and (min-width: 560px) {
    #contact {
        margin: 0 auto;
    }

    .contact__title {
        font-size: 15px;
        margin: 0 0 .4em;
    }

    .contact__text {
        font-size: 15px;
        line-height: 2.1;
        margin: 0 0 2.2em;
    }

    #contact_form {
        margin: 0;
    }

    .contact__textwrap {
        margin: 0 0 5.2em;
    }
    
    .contact_form__table td {
        margin: 0 0 1.6em;
    }

    .contact_form__table textarea {
        height: 185px;
    }

    .agree {
        padding: 4.5em 0 0;
    }

    .contact_submit {
        padding: 6em 0 0;
    }

    .contact_submit div:first-child {
        margin-right: 30px;
    }
    
    .contact_submit div span {
        width: 188px;
        height: 100px;
    }
    
    .contact_submit div.submit span:before {
        width: 99px;
        height: 7px;
        background: url(../images/common/arrow_right_pc.svg) no-repeat right center;
        top: 40%;
        left: 163px;
        animation: morebtn 1.3s linear infinite;
    }
    
    .mw_wp_form.mw_wp_form_input .contact_submit .back {
        display: none!important;
    }
    
    .contact_submit input {
        font-size: 20px;
    }

    .contact_submit input[name="submitConfirm"] {
        font-size: 18px;
    }

    .complete__text {
        line-height: 2.1;
        margin: 0 auto 5em;
    }

    .contactBnr_head {
        font-size: 18px;
    }

}

/* ----------------------------------------
	remodal
---------------------------------------- */
.remodal-overlay {
	background: rgba(0,0,0,.5);
}

.remodal {
	max-width: 900px;
}

.remodal {
	padding: 0 !important;
	background: transparent;
}

.remodal-wrapper {
    padding: 30px 40px;
}

.remodal .remodal-inner {
	position: relative;
	width: 100%;
	max-width: 970px;
	height: 100%;
    text-align: left;
    padding: 40px 20px 30px;
    box-sizing: border-box;
    background: #fff;
}

.remodal-inner__title {
    font-size: 17px;
    font-weight: 600;
    letter-spacing: .12em;
}

.remodal-inner__price {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .14em;
    margin: .5em 0 2.3em;
}

.remodal-inner__price span {
    font-size: 13px;
}

.remodal-inner__text {
    line-height: 2.2;
    margin-top: 2.3em;
}

.remodal-inner__text__note {
    font-size: 12px;
    margin-top: 2em;
}

.remodal .remodal-btn-close {
	position: fixed;
	top: -20px !important;
	right: -20px !important;
	width: 40px;
	height: 40px;
	cursor: pointer;
	background: #ffcf42;
	border-radius: 50%;
}

.remodal .remodal-btn-close:before {
	transform: rotate(45deg);
}

.remodal .remodal-btn-close:after {
	transform: rotate(-45deg);
}

.remodal .remodal-btn-close:before,
.remodal .remodal-btn-close:after {
	content: "";
	z-index: 2;
	transition: transform 200ms;
}

.remodal .remodal-btn-close:before,
.remodal .remodal-btn-close:after {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 24px;
	height: 2px;
	margin: auto;
	background: #fff;
}

@media all and (max-width: 374px) {
    .remodal-wrapper {
        padding: 30px 20px;
    }

    .remodal-inner__title {
        font-size: 17px;
    }
}


/* ----------------------------------------
reserve
---------------------------------------- */
.reserveTextBox {
	max-width: 650px;
	margin: 0 auto;
	margin-bottom: 2em;
}
.reserveTextBox_head {
	font-size: 20px;
    font-weight: bold;
    margin-bottom: 1em;
}
.reserveTextBox dl dd {
	padding-left: 1em;
	margin-bottom: 10px;
}
.reserveTextBox dl dt {
	font-weight: bold;
}
.reserveTextBox dl dt span {
	color: #E65300;
}

.reserveForm {
	max-width: 650px;
	margin: 0 auto;
	background: white;
	padding: 2em;
	box-sizing: border-box;
	
}
.reserveForm .contact_essential {
	font-size: 12px;
	color: #e60000;
}
.reserveForm dt {
	margin-bottom: 10px;
}
.reserveForm dt::before {
	content: "■";
	padding-right: 3px;
}
.reserveForm input[type="text"],
.reserveForm input[type="submit"],
.reserveForm textarea,
.reserveForm select {
	width: 100%;
	font-size: 16px;
	padding: .7em .5em;
	border-radius: 0;
	outline: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	border: 1px solid;
	background: rgba(255,255,255,0.85);
}
.reserveForm #datepicker {
	max-width: 350px;
}
.reserveForm select {
	width: 100%;
	max-width: 350px;
	font-size: 16px;
	padding: .7em .5em!important;
	border-radius: 0;
	outline: none;
	color: inherit;
	box-sizing: border-box;
	border: 1px solid;
	background: white;
}
.reserveForm #submit {
	display: flex;
	justify-content: center;
	margin-top: 4.5em;
}
.reserveForm #submit input {
	cursor: pointer;
	border: 1px solid;
}
.reserveForm #submit .back {
	margin-right: 30px;
    color: inherit;
}
.reserveForm #submit .submit {
	background: #E65300;
    color: white;
}
.reserveForm #submit .submit.disabled {
	opacity: .6;
	pointer-events: none;
}
.reserveForm input[type='submit']{
	display: table;
	max-width: 300px;
	margin: 0 auto;
	border: 0;
}
.reserveForm_note {
	display: block;
	font-size: 12px;
	color: #E65300;
	margin-bottom: 2rem;
	margin-top: 5px;
}
.reserveForm_kind dd {
}
.reserveForm_kind dd .select_wrap {
    width: 100%;
	display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
}
.reserveForm_kind dd .select_wrap:not(:last-of-type){
    margin-bottom: 10px;
}
.reserveForm_kind dd .select_wrap select:first-of-type {
    max-width: calc(100% - 9em - 10px);
}
.reserveForm_kind dd .select_wrap select:last-of-type {
	width: 9em;
}
.reserveForm_payment dd select {
	max-width: none;
}


/*確認ページ*/
.mw_wp_form_confirm .reserveForm dd {
	border-bottom: 1px solid #E65300;
	padding-bottom: 5px;
}
.mw_wp_form_confirm .reserveForm dt {
	font-weight: bold;
}
.mw_wp_form_confirm .reserveForm .contact_essential {
	display: none;
}
.mw_wp_form_confirm .reserveForm_note {
	display: none;
}


@media all and (max-width: 560px) {
	
	.reserveForm {
        margin-left: -1em;
        margin-right: -1em;
        padding: 1em 15px 3em;
	}
	.reserveForm_kind dd {
	}
    .reserveForm_kind dd .select_wrap select:first-of-type {
        max-width: calc(100% - 3.5em - 10px);
    }
    .reserveForm_kind dd .select_wrap select:last-of-type {
        width: 3.5em;
    }
}

body.mw_wp_form_confirm .reserveTextBox,
body.mw_wp_form_confirmed .reserveTextBox { display:none; }

#mw_wp_form_mw-wp-form-495.mw_wp_form_confirm .reserveTextBox{
    display:none !important;
  }

  #mw_wp_form_mw-wp-form-495.mw_wp_form_confirm .agree-box{
    display:none !important;
  }