@charset "utf-8";

/*================================
	Layout, Elements
================================*/

:root {
    --wt: #fff;
    --gd: #C2AC7D;
    --gray: #b2b2b254;
    --orange: #F1E5CC;
}

.clearfix:after,
input[type=text],
input[type=password],
input[type=tel],
input[type=url],
input[type=email],
input[type=file],
input[type=image],
input[type=number],
input[type=range],
input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=time],
input[type=search],
select,
textarea {
    display: block
}

blockquote,
body,
button,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
select,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0
}

a,
a:active,
a:hover,
a:link,
a:visited {
    text-decoration: none;
    outline: 0;
}

a {
    transition: opacity .3s;
}
a:hover {
    opacity: .7;
}


li,
ul {
    list-style: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

caption,
th {
    text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: inherit
}

.clearfix:after {
    content: " ";
    clear: both
}

* {
    color: #333;
    font-size: 1.4rem;
    box-sizing: border-box;
    letter-spacing: .1rem;
    line-height: 1.6;
    border-radius: 0
}

html {
    font-size: 10px;
    background: #FFF;
    height: 100%
}

body {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    min-height: 100vh;
    display: flex;
    display: -webkit-flex;
    flex-direction: column;
    -webkit-flex-direction: column;
    line-height: 2em;
    letter-spacing: .5px;
    font-size: 10px;
}

button,
input[type=submit],
input[type=reset],
input[type=search],
input[type=button],
select,
textarea {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-weight: inherit;
    outline: 0;
    border: 1px solid #333;
    background-color: #FFF
}

button,
input[type=submit],
input[type=reset],
input[type=file],
input[type=color],
input[type=button] {
    cursor: pointer
}

input[type=file],
input[type=image],
input[type=color] {
    border: none;
    background-color: transparent
}

select {
    text-indent: .01px;
    text-overflow: '';
    background-position: 100% center;
    background-repeat: no-repeat;
    padding: 0 20px 0 10px;
    background-image: url(../img/arrow_down.png);
}

select::-ms-expand {
    display: none
}

textarea {
    overflow: auto;
    resize: vertical
}

canvas,
iframe,
img,
svg,
video {
    border: 0;
    max-width: 100%;
    display: block
}

@media screen and (max-width: 480px) {
    * {
        font-size: 1.3rem
    }

    input,
    select,
    textarea {
        font-size: 1.6rem
    }

    input[type=checkbox]:checked {
        background-color: #3B99FC
    }

    input[type=radio] {
        border-radius: 1rem
    }

    input[type=radio]:checked {
        background-color: #3B99FC;
        border-radius: 1rem
    }
}



.bodoni-moda {
    font-family: "Bodoni Moda", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.shippori {
    font-family: "Shippori Mincho", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
  }

.gothic {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    line-height: 2em;
    letter-spacing: .5px;
}


html {
    font-size: 10px;
    scroll-behavior: smooth;
}

main {
    position: relative;
    z-index: 1;
    overflow-y: visible;
    overflow-x: hidden;
    overflow-x: clip;
}

body,
html {
    background-color: #FFFFFF;
}

html.noscroll,
body.noscroll {
    overflow: hidden;
}

img {
    height: auto;
}

.animated {
    opacity: 0;
}

.fadeInUp {
    opacity: 1;
}

.bar_effect1 .active span:nth-of-type(1) {
    -webkit-transform: translateY(12px) rotate(-45deg);
    transform: translateY(12px) rotate(-45deg);
    background: #fff !important;
}

.bar_effect1 .active span:nth-of-type(2) {
    opacity: 0;
}

.bar_effect1 .active span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
    background: #fff !important;
}

.bar_effect2 .active span:nth-of-type(1) {
    -webkit-transform: translateY(17px) rotate(-315deg);
    transform: translateY(17px) rotate(-315deg);
    background: #fff !important;
}

.bar_effect2 .active span:nth-of-type(2) {
    opacity: 0;
}

.bar_effect2 .active span:nth-of-type(3) {
    -webkit-transform: translateY(-4px) rotate(315deg);
    transform: translateY(-4px) rotate(315deg);
    background: #fff !important;
}

.bar_effect3 .active {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}

.bar_effect3 .active span:nth-of-type(1) {
    -webkit-transform: translateY(11px) rotate(-45deg);
    transform: translateY(11px) rotate(-45deg);
}

.bar_effect3 .active span:nth-of-type(2) {
    -webkit-transform: translateY(0) rotate(45deg);
    transform: translateY(0) rotate(45deg);
}

.bar_effect3 .active span:nth-of-type(3) {
    opacity: 0;
}

.bar_effect4 span:nth-of-type(3),
.bar_effect4 .active span:nth-of-type(3) {
    transition: none;
}

.bar_effect4 .active {
    -webkit-transform: rotateX(720deg);
    transform: rotateX(720deg);
}

.bar_effect4 .active span:nth-of-type(1) {
    -webkit-transform: translateY(11px) rotate(-45deg);
    transform: translateY(11px) rotate(-45deg);
}

.bar_effect4 .active span:nth-of-type(2) {
    -webkit-transform: translateY(0) rotate(45deg);
    transform: translateY(0) rotate(45deg);
}

.bar_effect4 .active span:nth-of-type(3) {
    opacity: 0;
}

.bar_effect5 span:nth-of-type(1) {
    -webkit-animation: menu-bar01 .75s forwards;
    animation: menu-bar01 .75s forwards;
}

@-webkit-keyframes menu-bar01 {
    0% {
        -webkit-transform: translateY(12px) rotate(45deg);
    }

    50% {
        -webkit-transform: translateY(12px) rotate(0);
    }

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

@keyframes menu-bar01 {
    0% {
        transform: translateY(12px) rotate(45deg);
    }

    50% {
        transform: translateY(12px) rotate(0);
    }

    100% {
        transform: translateY(0) rotate(0);
    }
}

.bar_effect5 span:nth-of-type(2) {
    transition: all .25s .25s;
    opacity: 1;
}

.bar_effect5 span:nth-of-type(3) {
    -webkit-animation: menu-bar02 .75s forwards;
    animation: menu-bar02 .75s forwards;
}

@-webkit-keyframes menu-bar02 {
    0% {
        -webkit-transform: translateY(-12px) rotate(-45deg);
    }

    50% {
        -webkit-transform: translateY(-12px) rotate(0);
    }

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

@keyframes menu-bar02 {
    0% {
        transform: translateY(-12px) rotate(-45deg);
    }

    50% {
        transform: translateY(-12px) rotate(0);
    }

    100% {
        transform: translateY(0) rotate(0);
    }
}

.bar_effect5 .active span:nth-of-type(1) {
    -webkit-animation: active-menu-bar01 .75s forwards;
    animation: active-menu-bar01 .75s forwards;
}

@-webkit-keyframes active-menu-bar01 {
    0% {
        -webkit-transform: translateY(0) rotate(0);
    }

    50% {
        -webkit-transform: translateY(12px) rotate(0);
    }

    100% {
        -webkit-transform: translateY(12px) rotate(45deg);
    }
}

@keyframes active-menu-bar01 {
    0% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(12px) rotate(0);
    }

    100% {
        transform: translateY(12px) rotate(45deg);
    }
}

.bar_effect5 .active span:nth-of-type(2) {
    opacity: 0;
}

.bar_effect5 .active span:nth-of-type(3) {
    -webkit-animation: active-menu-bar03 .75s forwards;
    animation: active-menu-bar03 .75s forwards;
}

@-webkit-keyframes active-menu-bar03 {
    0% {
        -webkit-transform: translateY(0) rotate(0);
    }

    50% {
        -webkit-transform: translateY(-10px) rotate(0);
    }

    100% {
        -webkit-transform: translateY(-10px) rotate(-45deg);
    }
}

@keyframes active-menu-bar03 {
    0% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(-10px) rotate(0);
    }

    100% {
        transform: translateY(-10px) rotate(-45deg);
    }
}

.bar_effect6 .active span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
}

.bar_effect6 .active span:nth-of-type(2) {
    left: 200%;
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-animation: active-menu-bar02 .8s forwards;
    animation: active-menu-bar02 .8s forwards;
}

@-webkit-keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}

@keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}

.bar_effect6 .active span:nth-of-type(3) {
    -webkit-transform: translateY(-13px) rotate(45deg);
    transform: translateY(-13px) rotate(45deg);
}

.slick-arrow {
    font-size: 0;
    border: none;
    background-color: transparent;
    position: absolute;
    z-index: 2;
}

.slick-arrow:before {
    content: '';
    background-image: url(../img/arrow.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 30px;
    height: 30px;
    display: block;
}

.slick-prev.slick-arrow:before {
    transform: rotate(-180deg);
}



@-webkit-keyframes scroll-signal {
    0% {
        top: 0;
        opacity: 1;
    }

    100% {
        top: 105%;
        opacity: .6;
    }
}

@keyframes scroll-signal {
    0% {
        top: 0;
        opacity: 1;
    }

    100% {
        top: 105%;
        opacity: .6;
    }
}

body {
    position: relative;
    min-width: 1220px;
}


select {
    background-color: transparent;
    border: 1px solid #B2B2B2;
    padding-right: 50px;
    font-size: 12px;
    padding: 7px 10px;
    padding-right: 50px;
    background-size: 10px;
    background-position: calc(100% - 10px) center;
}

::placeholder {
    color: #9D9D9D;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 500;
}

#wrapper {
    min-width: 1220px;
}

#wrapper main {
	margin-top: 80px;
}
:root{
	scroll-padding: 120px;
    scroll-behavior: auto;
}


.sp {
    display: none !important;
}

.pc {
    display: block;
}

a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

#header {
    transition: all .8s;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px 50px 30px;
    position: fixed;
    width: 100%;
    z-index: 100;
    min-width: 1280px;
    background: #FFFFFF;
}


#header .triger_wrap {
    display: flex;
    width: 75px;
    height: 75px;
    position: static;
    right: 40px;
    top: 43px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    cursor: pointer;
    transition: all .3s;
    z-index: 1000;
    order: 4;
}

.triger_wrap .menu-trigger {
    display: block;
    position: relative;
    width: 70px;
    height: 70px;
    background: #fff;
    transition: all .3s;
}

.mobilenav {
    display: none;
    position: fixed;
    top: 0;
    left: auto;
    right: 0;
    width: 100%;
    z-index: 80;
    height: 100vh;
    background-color: #fff;
    width: 100%;
    padding: 0px 0px 0px 0px;
}

.mobilenav.is-show {
    display: block;
    overflow: auto;
    /* IE,Edge */
    -ms-overflow-style: none;
    /* Firefox */
    scrollbar-width: none;
}

/* Chrome,Safari */

.mobilenav.is-show:-webkit-scrollbar {
    display: none
}





#header .triger_wrap span {
    background-color: #333333;
    height: 1px;
    width: 30px;
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    margin: auto;
    transition: all .4s;
}

#header .triger_wrap span:nth-of-type(1) {
    top: calc(50% - 12px);
}

#header .triger_wrap span:nth-of-type(2) {
    top: calc(50% + 9px);
}

#header .triger_wrap span:nth-of-type(3) {
    top: calc(50% - 2px);
}

#header .triger_wrap.active span:nth-of-type(1) {
    transform: rotate(-45deg);
    top: calc(50% - 3px);
}

#header .triger_wrap.active span:nth-of-type(2) {
    transform: rotate(45deg);
    right: 0px;
    top: calc(50% - 2px);
}

#header .triger_wrap.active span:nth-of-type(3) {
    opacity: 0;
    width: 0;
}

#header .triger_wrap.active span {
    background-color: #555555;
}

.header_reservation_btn {
    position: fixed;
    z-index: 101;
    top: 135px;
    right: 60px;
}




#header .top_nav {
    top: 64px;
    left: 0;
    right: 0;
    margin: 0 auto;
    margin-right: 140px;
    display: flex;
    margin: 0;
    width: 100%;
    align-items: center;
    z-index: 9999;
}

#header .top_nav .logo {
    margin-right: 55px;
}

#header .top_nav .logo a {
    display: flex;
    align-items: center;
}
#header .top_nav .logo a h1 {
    font-size: 1.1rem;
    margin-left: 15px;
}

#header .top_nav .logo svg {
    display: inline-block;
    transition: all .3s;
}

#header .top_nav .logo svg.color {
    fill: #454545;
}

#header .top_nav > ul {
    display: flex;
    width: 100%;
    justify-content: flex-end;
    align-items: center;
    position: relative;
}
#header .top_nav > ul:after {
    content: '';
    background: #eeeeee;
    position: absolute;
    bottom: 5px;
    right: -50px;
    width: 220px;
    height: 1px;
}
#header .top_nav ul .reserve_btn a {
    background-color: #C79059;
    color: #fff;
    display: block;
    padding: 10px 20px;
    border-radius: 18px;
}
#header .top_nav ul * {
    color: #454545;
}

#header .top_nav > ul > li {
    margin: 0 13px;
}

#header .top_nav ul li:first-child {
    margin-left: 0;
}

#header .top_nav ul li:last-child {
    margin-right: 0;
}

#header .top_nav a {
    font-size: 1.4rem;
    white-space: nowrap;
    transition: all .3s;
}

#header .top_nav a.is-show {
    text-decoration: underline;
}

#header .top_nav a i {
    font-size: 1.5rem;
    color: inherit;
    transition: all .3s;
}

#header .top_nav .sns {
    margin-left: auto;
}

.contact_area .inner {
    display: flex;
}
.contact_area .inner > .box {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 140px 0 130px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.contact_area .inner > .reserve_box {
    background-image: url(../../common/img/reservation_bg.jpg);

}
.contact_area .inner > .contact_box {
    background-image: url(../../common/img/contact_bg.jpg);
}
.contact_area .inner > .box h2 {
    color: #fff;
    margin-top: 20px;
    margin-bottom: 25px;
    padding-top: 15px;
    border-top: 1px solid var(--gray);
    width: 381px;
    text-align: center;
    font-size: 1.4rem;
}

#footer {
    padding: 100px 0;
    border-top: 1px solid #b2b2b254;
}
#footer .inner {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
}
#footer .inner .box .logo {
    margin-bottom: 30px;
}
#footer .inner .box .sns {
    display: flex;
    justify-content: flex-end;
}
#footer .inner .box .sns i {
    font-size: 1.5rem;
}
#footer .inner .page_list {
    columns: 3;
    column-gap: 30px;
    column-width: auto;
}
#footer .inner .page_list > li {
    margin-bottom: 20px;
    break-inside: avoid;
    
}
#footer .inner .page_list > li a {
    font-size: 1.2rem;
}
#footer .inner .page_list > li a span {
    font-size: 1.4rem;
    margin-right: 20px;
}
#footer .inner .page_list > li .sub_page_list {
    padding-left: 20px;
    margin-top: 20px;
}
#footer .inner .page_list > li .sub_page_list > li {
    margin-bottom: 10px;
}
#footer .contact_links {
    margin-top: 40px;
}
#footer .contact_links a {
    padding-bottom: 10px;
    border-bottom: 1px solid var(--gd)
}

#footer .basic_info {
    display: flex;
    justify-content: space-between;
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid var(--gray);
}
#footer .inner .other_page_list {
    display: flex;
}
#footer .inner .other_page_list li {
    margin-right: 20px;
}
#footer .inner .other_page_list li a {
    font-size: 1.1rem;
    color: #707070;
}
#footer small {
    max-width: 1140px;
    display: block;
    text-align: right;
    font-size: 1.1rem;
    color: #707070;
}

.breadcrumb {
    position: relative;
    z-index: 1;
    border-top: 1px solid #b2b2b254;
}

.breadcrumb .breadcrumb__list {
    max-width: 1240px;
    margin: 0 auto;
    padding: 8px 20px;
    display: flex;
    font-size: 1.2rem;
}

.breadcrumb .breadcrumb__list li {
    font-size: 1.2rem;
    padding-right: 7px;
}
.breadcrumb .breadcrumb__list li *{
    font-size: inherit;
}

.breadcrumb .breadcrumb__list li:after {
    content: '>';
    /* color: #A39175; */
    font-size: 12px;
    margin-left: 4px;
}

.breadcrumb .breadcrumb__list li:last-child:after {
    content: none;
}

.breadcrumb .breadcrumb__list span {
    /* color: #555555; */
    /* font-size: 12px; */
}


@keyframes btn-anim-line {
    0% {
        width: 0;
    }

    100% {
        width: 27px;
    }
}

@-webkit-keyframes btn-anim-line {
    0% {
        width: 0;
    }

    100% {
        width: 27px;
    }
}

@keyframes btn-anim-circle {
    0% {
        transform: scale(1.5);
    }

    100% {
        transform: scale(1);
    }
}

@-webkit-keyframes btn-anim-circle {
    0% {
        transform: scale(1.5);
    }

    100% {
        transform: scale(1);
    }
}

main .text {
    font-size: 1.3rem;
    line-height: 2em;
    letter-spacing: .07rem;
    margin-bottom: 20px;
    text-align: left;
}

.page_head {
    max-width: 1240px;
    padding: 70px 30px 60px;
    margin: 0 auto;
    position: relative;
}

.page_head .en {
    margin-bottom: 20px;
}

.page_head h1 {
    font-size: 1.3rem;
    letter-spacing: 2px;
}

.page_head .en picture {
    display: inline-block;
    text-align: center;
    position: relative;
}
.page_head .en picture img{
    display: inline-block;
}

.wp-pagenavi {
    text-align: center;
    margin-bottom: 100px;
    margin-top: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wp-pagenavi * {
    font-size: 2.2rem;
    font-weight: 700;
}

.wp-pagenavi>* {
    margin: 0 8px;
    padding: 0 3px 3px;
}

.wp-pagenavi .current {
    position: relative;
    color: #C79059;
}

.wp-pagenavi .current::after {
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #C79059;
}

.previouspostslink,
.nextpostslink {
    font-size: 0;
    width: 32px;
    height: 32px;
    display: flex;
    border: 2px solid;
    border-radius: 100px;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.previouspostslink:before,
.nextpostslink:before {
    content: '';
    width: 6px;
    height: 6px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    display: block;
}

.previouspostslink:before {
    transform: rotate(-135deg);
}

.nextpostslink:before {
    transform: rotate(45deg);
    margin-bottom: 0px;
}


#header .header_other {
    z-index: 81;
    height: 100%;
}

#header .header_other button {
    background: unset;
    border: none;
    color: #fff;
    font-size: 1.2rem;
}


#header .header_other a.is-show {
    text-decoration: underline;
    color: #fff;
}

#header .header_other .sns {
    text-align: right;
    margin-top: 5px;
}

#header .header_other .sns a {
    color: #fff;
}

#header .header_other i {
    color: inherit;
    font-size: 1.6rem;
}


.not_found {
    text-align: center;
    width: 100%;
    padding: 40px 0 100px;
    font-size: 2.2rem;
}
.btn_style1 a {
    background-color:var(--orange);
    display: inline-block;
    padding: 13px 20px 15px;
    text-align: center;
    border-radius: 90px;
    font-size: 1.4rem;
    width: 220px;
    letter-spacing: .5px;
    position: relative;
    transition: all .3s;
}
.btn_style1 a::after {
    content: '';
    width: 6px;
    height: 6px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    background-color: var(--gd);
    border-radius: 20px;
    transition: all .3s;
}
.btn_style1 a:hover:hover {
    opacity: 1;
    color: var(--gd);
}
.btn_style1 a:hover::after {
    transform: scale(1.8);
}


.btn_style2 a {
    background-color:var(--wt);
    display: inline-block;
    padding: 13px 20px 15px;
    text-align: center;
    border-radius: 90px;
    font-size: 1.4rem;
    width: 220px;
    letter-spacing: .5px;
    position: relative;
    transition: all .3s;
}
.btn_style2 a::after {
    content: '';
    width: 6px;
    height: 6px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    background-color: var(--orange);
    border-radius: 20px;
    transition: all .3s;
}
.btn_style2 a:hover:hover {
    opacity: 1;
    color: var(--orange);
}
.btn_style2 a:hover::after {
    transform: scale(1.8);
}

.btn_style3 a {
    font-size: 1.3rem;
    padding: 0 10px 10px 30px;
    position: relative;
    border-bottom: 1px solid var(--gd);
}
.btn_style3 a:before {
    content: '';
    width: 6px;
    height: 6px;
    position: absolute;
    top: 0;
    bottom: 8px;
    left: 0;
    margin: auto;
    background-color: var(--gd);
    border-radius: 100%;
    transition: all .3s;
}
.btn_style3 a:hover:before {
    transform: scale(1.8);
}

.collection_slider {
    padding-left: calc((100% - 1240px) / 2 + 20px);
    margin-top: 40px;
    padding-bottom: 40px;
    padding-right: calc((100% - 1240px) / 2 + 20px);
}
.collection_slider .swiper-slide {
    width: 328px;
    position: relative;
}
.collection_slider .swiper-slide .hover_img {
    opacity: 0;
    position: absolute;
    transition: all .65s ease-in-out;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.collection_slider .swiper-slide a {
    opacity: 1;
}
.collection_slider .swiper-slide .hover_img:hover {
    opacity: 1;
}

.collection_slider .swiper-pagination {
    text-align: left;
    padding-left: calc((100% - 1240px) / 2 + 20px);
}
.swiper-pagination-bullet-active {
    background: var(--orange);
}

.swiper-button-next,
.swiper-button-prev {
    border: 1px solid var(--gd);
    width: 35px;
    height: 35px;
    border-radius: 100px;
    background-color: var(--wt);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
    transition: all .3s;
    color: var(--gd);
    font-size: 1.2rem;
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 1.2rem;
}
.collection_slider .swiper-button-prev {
    left: 70px;
}
.collection_slider .swiper-button-next {
    right: 70px;

}

#galleryModal-list > li {
    cursor: pointer;
    transition: all .3s;
}

#galleryModal-list > li img {
    transition: all .3s;
}
#galleryModal-list > li:hover img {
    transform: scale(1.05);
}

.galleryMovieModal .lg-outer .lg-video-cont {
    max-width: 100%;
    height: auto !important;
}
.lg-media-cont {
    border-radius: 5px;
    overflow: hidden;
}
.lg-content {
    max-width: 815px;
    margin: 0 auto;
}
.lg-container .lg-outer .lg-object {
    /* max-width: 815px; */
}
.lg-backdrop {
    background-color: #000000b5;
}
.lg-next, .lg-prev {
    background-color: transparent;
    width: 79px;
    height: 45px;
    background-repeat: no-repeat;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    padding: 0;
    margin-top: 0;
    z-index: 1100;
}
.lg-next:after,
.lg-next:before,
.lg-prev:before,
.lg-prev:after
 {
    content: none;
}
.lg-next {
    background-image: url(../img/arrow_modal_r.svg);
    right: calc((100% - 815px) / 2 - 100px);

}
.lg-prev {
    background-image: url(../img/arrow_modal_l.svg);
    left: calc((100% - 815px) / 2 - 100px);
}

/* 画面が狭いと calc がマイナスになり矢印が画面外へ飛ぶため、ブレークポイントで補正 */
@media (max-width: 1100px) {
    .lg-next {
        right: 16px;
    }
    .lg-prev {
        left: 16px;
    }
}


.lg-next:hover, .lg-prev:hover {
    opacity: .7;
    transform: scale(1.1);
}

.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html {
    display: none;
}
.lg-toolbar .lg-close {
    position: absolute;
    top: 20px;
    right: 20px;
}
.lg-toolbar .lg-close:after {
    color: #fff;
    font-size: 4rem;
}

.esum_brides_entry {
    cursor: pointer;
    overflow: hidden;
    border-radius: 5px;
}
.esum_brides_entry picture {
    overflow: hidden;
    display: block;
    transition: all .5s;
}
.esum_brides_entry:hover picture {
    transform: scale(1.1);
}



.slider-btn-next,
.slider-btn-prev
 {
	width: 27px;
	height: 27px;
	background-image: url(../../common/img/arrow_slider.svg);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: -50px;
	top: 0;
	bottom: 0;
	margin: auto;
	cursor: pointer;
    z-index: 3;
    transition: opacity .3s;
}
.slider-btn-prev {
	left: -50px;
	right: auto;
	transform: rotate(-180deg);
}
.slider-btn-next:hover,
.slider-btn-prev:hover {
	opacity: .7;
}
.movie_gallery_wrap {
    position: relative;
}

.swiper-button-disabled {
    opacity: 0!important;
    cursor: auto;
}


.ui-datepicker * {
    font-size: inherit;
}

.archive_pagenation {
    margin: 60px 0;
}
.archive_pagenation a,
.archive_pagenation span
 {
    font-size: 1.3rem;
    margin: 0 0px;
    font-family: inherit;
    padding-bottom: 5px;
    padding: 0 5px 5px;
}
.archive_pagenation .prev,
.archive_pagenation .next {
    display: none;
 }
 .archive_pagenation .current {
    border-bottom: 1px solid var(--gd);
 }


/* 画像アニメーション */
.image-animation {
    clip-path: inset(0 10%);
    transition: clip-path 1s ease;
}
.image-animation.move {
    clip-path: inset(0);
}
.image-animation.visible {
    opacity: 1;
}

/*---------------------------------------------------------------*\
	$930px
\*---------------------------------------------------------------*/
@media screen and (max-width: 1250px) {
    #header .top_nav ul {
        /* display: none; */
        width: auto;
    }
    #header .top_nav .logo a h1 {
        /* display: none; */
    }
}

/*---------------------------------------------------------------*\
	$736px
\*---------------------------------------------------------------*/

@media screen and (max-width: 736px) {
    :root{
        scroll-padding: 80px;
        scroll-behavior: auto;
    }
    #header {
        padding: 0px 0 0px 20px;
        min-width: unset;
    }

    body {
        min-width: unset;
    }

    #wrapper {
        min-width: unset;
    }

    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }

    a,
    button {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
        cursor: pointer;
    }

    #wrapper main {
        margin-top: 70px;
    }
    #header .triger_wrap {
        display: flex;
        width: 70px;
        height: 70px;
        top: 0;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        cursor: pointer;
        transition: all .3s;
        z-index: 1000;
    }


    .mobilenav {
        display: none;
        width: 100%;
        overflow: auto;
        padding-bottom: 100px;
        padding: 100px 40px 100px;
    }

    .mobilenav.is-show {
        display: block;
    }

    .mobilenav .wrap {
        flex-direction: column;
        width: 100%;
        position: static;
        padding-top: 0;
    }

    .g_page_list {
        columns: unset;
        width: 100%;
    }

    /* mobilenav: footer sitemapと同じ見た目に寄せる */
    .mobilenav .page_list > li a span {
        width: 130px;
        display: inline-block;
    }
    .mobilenav .page_list > li .sub_page_list {
        padding-left: 20px;
        margin-top: 5px;
    }
    .mobilenav .page_list > li .sub_page_list > li {
        margin-bottom: 10px;
    }
    .mobilenav .page_list > li.collection_links {
        border-top: 1px solid var(--gray);
        border-bottom: 1px solid var(--gray);
        padding-top: 10px;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .mobilenav .sns {
        display: flex;
        margin-top: 20px;
    }
    .mobilenav .sns a {
        font-size: 1.2rem;
    }
    .mobilenav .sns i {
        font-size: 1.5rem;
        margin-right: 5px;
    }

    .mobilenav .wrap h3 {
        margin-bottom: 13px;
        color: #555555;
    }

    .mobilenav .wrap h3 span {
        color: #555555;
    }

    .mobilenav .wrap h3:before,
    .mobilenav .wrap h3:after {
        background-color: #AFAEAE;
    }






    .header_fair_btn {
        position: fixed;
        z-index: 101;
        top: 75px;
        right: 20px;
    }

    .header_reservation_btn {
        position: fixed;
        z-index: 101;
        top: 75px;
        right: 25px;
    }

    .header_reservation_btn button {
        border: none;
        background-color: transparent;
        font-size: 12px;
        color: #fff;
        letter-spacing: 1px;
        transition: all .3s;
        display: block;
    }

    .header_reservation_btn button.color {
        color: #000;
    }

    #header .top_nav {
        justify-content: space-between;
        align-items: center;
    }
    #header .top_nav > ul > li {
        margin: 0 5px;
    }
    #header .top_nav .logo {
        width: 109px;
        margin: 0;
    }

    #header .top_nav .logo svg path {
        transition: all .3s;
    }
    #header .top_nav > ul:after {
        display: none;
    }
    #header .top_nav > ul a {
        border-bottom: 1px solid #D4D4D4;
        padding-bottom: 2px;
        font-size: 1.2rem;
        display: inline-block;
    }

    .mobilenav .wrap ul li {
        /* margin-bottom: 13px; */
    }

    .mobilenav .wrap ul li {
        /* width: 100%; */
    }

    .menu_reservation .inner {
        width: 100%;
        left: 0;
        right: 0;
        /* bottom: 60px; */
        padding: 0 0px;
        width: 100%;
    }

    .menu_reservation .inner .en {
        font-size: 2rem;
    }

    .header_nav_menu {
        width: 100%;
        left: 0;
        right: 0;
        border: none;
        top: 0;
        padding-top: 100px;
        height: 100%;
        padding: 90px 20px 40px;
        overflow: auto;
    }

    .header_nav_menu .reservation_area .box.shop_info .name {
        border: 1px solid;
        padding: 16px 20px;
        margin-bottom: 10px;
        border-radius: 30px;
    }
    .shop_info .text {
        padding: 0 20px 5px;
    }




    .mobilenav .wrap .menu_open_reservation:before,
    .mobilenav .wrap .menu_open_reservation:after {
        background-color: #B2987B;
    }

    .mobilenav .instagram {
        margin-top: 30px;
    }

    .mobilenav .instagram a {
        font-size: 1.8rem;
    }

    .mobilenav .instagram a i {
        margin-right: 7px;
        font-size: 1.8rem;
    }

    .mobilenav .instagram a:before,
    .mobilenav .instagram a:after {
        display: none;
    }



    .breadcrumb {
        width: 100%;
        overflow: auto;
        /* margin-bottom: 30px; */
    }

    .breadcrumb .breadcrumb__list {
        margin: 0 auto;
        padding: 10px 20px;
        display: flex;
        align-items: center;
        width: auto;
        justify-content: flex-start;
    }

    .breadcrumb .breadcrumb__list li {
        padding-right: 8px;
        white-space: nowrap;
    }

    .breadcrumb .breadcrumb__list li:after {
        content: '>';
        /* color: #A39175; */
        font-size: 1.2rem;
        margin-left: 2px;
    }

    .breadcrumb .breadcrumb__list li:last-child:after {
        content: none;
    }

    .breadcrumb .breadcrumb__list a {
        display: inline-block;
    }

    .breadcrumb .breadcrumb__list span {
        /* color: #A39175; */
        font-size: 1.2rem;
        display: inline-block;
    }

    @keyframes line-anim {
        0% {
            width: 0%;
        }

        60% {
            width: 100%;
        }

        100% {
            width: 100%;
        }
    }

    @-webkit-keyframes line-anim {
        0% {
            width: 0%;
        }

        60% {
            width: 100%;
        }

        100% {
            width: 100%;
        }
    }

    main .page_head {
        padding: 70px 40px 40px;
    }

    main .page_head * {
    }

    main .page_head .en {
        /* font-size: 2.5rem; */
        /* line-height: 3rem; */
        /* margin-bottom: 10px; */
    }

    main .page_head h1 {
        font-size: 1.4rem;
        letter-spacing: 1px;
    }

    main .page_cover img {
        width: 100%;
    }

    .wp-pagenavi {
        text-align: center;
        margin-bottom: 60px;
        margin-top: 10px;
    }

    .wp-pagenavi * {
        font-size: 1.5rem;
    }

    .wp-pagenavi>* {
        /* margin: 0 6px; */
        /* padding: 0 3px 3px; */
        margin: 0 4px;
    }

    .wp-pagenavi .current {
        position: relative;
    }

    .wp-pagenavi .current::after {
    }

    .previouspostslink,
    .nextpostslink {
        font-size: 0;
    }

    .previouspostslink:before {
        transform: rotate(-135deg);
    }


    .reservation_area h3 {
        font-size: 1.4rem;
    }

    .reservation_area .box_wrap {
        columns: unset;
    }

    .reservation_area .box_wrap .box {
        margin-bottom: 30px;
    }

    .reservation_area .box h4 {
        font-size: 1.3rem;
        margin-bottom: 5px;
    }

    .reserve_wrap .reservation_area {
        padding-bottom: 0;
    }
    .reserve_wrap .reservation_area > .inner {
        flex-direction: column;
        padding: 0 20px;
    }
    .reserve_wrap .reservation_area .text {
        padding: 0;
        height: auto;
        margin-bottom: 5px;
    }
    .reserve_wrap .shop_info .tel a {
        width: 100%;
        display: block;
        text-align: center;
        border: 1px solid;
        padding: 11px 20px 14px;
        margin-bottom: 10px;
        border-radius: 30px;
    }
    .reserve_wrap .reservation_area > .inner .reserve_box {
        margin-bottom: 40px;
    }

    .shop_list_btns li a {
        width: 100%;
    }
    .shop_info {
        border: none;
    }

    .reserve_wrap .reservation_area .reserve_box .heading {
        margin-bottom: 40px;
    }
    .reserve_wrap .reservation_area .reserve_box .heading .en,
    .reserve_wrap .reservation_area .reserve_box .heading h2 {
        text-align: center;
    }
    .reserve_wrap .reservation_area > .inner .shop_info {
        width: calc(100% - 40px);
        /* margin-bottom: 30px; */
        padding: 0 0px 40px;
        border-bottom: 1px solid #b2b2b254;
        margin: 0 auto 30px;
    }
    .reservation_area > .inner .shop_info:last-of-type {
        border-bottom: none;
    }
    .reserve_wrap .shop_info h3 a {
        margin-left: 10px;;
    }
    .reserve_wrap .shop_info .more {
        margin-top: 20px;
    }
    .reserve_wrap .shop_info .more a {
        border-bottom: none;
        padding-bottom: 0;
    }
    .reserve_wrap .shop_info .more a:before {
        content:'';
        position: absolute;
        right: 12px;
        top: 0;
        bottom: 0;
        width: 45px;
        height: 1px;
        background: #000;
        margin: auto;
    }
    .reserve_wrap .shop_info .more a:after {
        top: 0;
        bottom: 0;
        margin: auto;
        right: 0px;
    }

    /* footer */
    #footer {
        padding: 50px 30px;
    }
    #footer .inner {
        flex-direction: column;
        padding: 0;
    }
    #footer .inner .logo {
        /* margin: 0 auto 20px; */
        width: 131px;
    }
    #footer .inner .page_list > li {
        margin: 0;
    }
    #footer .inner .page_list {
        flex-direction: column;
        column-count: 1;
    }
    #footer .inner .sns {
        margin-top: 20px;
    }
    #footer .inner .sns a {
        font-size: 1.2rem;
    }
    #footer .inner .sns i {
        font-size: 1.3rem;
        margin-right: 5px;
    }
    .page_list > li {
        margin: 0 0;
    }
    .page_list > li > a {
        padding: 10px 0 10px;
        display: block;
    }
    #footer .inner .page_list > li a span {
        width: 130px;
        display: inline-block;
    }
    #footer .inner .page_list > li .sub_page_list {
        margin-top: 5px;
    }
    .hover_menu {
        position: static;
        width: 100%;
        padding-top: 0;
    }
    .hover_menu .menu_list {
        border: none;
    }
    .hover_menu .menu_list li a {
        border: none;
    }
    .hover_menu_open > a:before {
        display: none;
    }
    .hover_menu_open > a:after {
        content: '';
        width: 27px;
        height: 27px;
        position: absolute;
        right: 0;
        top: 11px;
        /* bottom: 0; */
        margin: auto;
        background-image: url(../img/arrow.svg);
        background-repeat: no-repeat;
        transform: rotate(90deg);
    }
    .hover_menu .menu_list {
        margin-top: 10px;
    }
    .hover_menu .menu_list li a {
        padding: 8px 0;
    }
    .hover_menu_open.is-show a:after {
        transform: rotate(-90deg);
    }

    .contact_area .inner {
        flex-direction: column;
    }
    .contact_area .inner > .box {
        width: 100%;
        padding: 70px 30px 70px;
    }
    .contact_area .inner > .box h2 {
        margin: 20px 0 20px;
        padding-top: 10px;
        width: 100%;
    }
    .contact_area .inner > .box .btn {
        width: 100%;
        padding: 0 30px
    }
    .contact_area .inner > .box .btn a {
        width: 100%;
    }
    #footer .basic_info {
        flex-direction:column;
        padding-top: 20px;
        margin-top: 20px;
    }
    #footer .inner .page_list > li.collection_links {
        border-top: 1px solid var(--gray);
        border-bottom: 1px solid var(--gray);
        padding-top: 10px;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    #footer .inner .other_page_list li {
        margin: 0 0px;
        margin-right: 20px;
    }
    #footer .inner .other_page_list li:last-of-type a {
        border: none;
    }
    #footer small {
        text-align: left;
        margin-top: 20px;
    }

    .collection_slider {
        padding-left: 30px;
        padding-right: 30px;
    }
    .collection_slider .swiper-pagination {
        padding-left: 30px;
    }
    .collection_slider .swiper-button-next {
        right: 15px;
        width: 25px;
        height: 25px;
    }
    .collection_slider .swiper-button-prev {
        left: 15px;
        width: 25px;
        height: 25px;
    }
    .collection_slider .swiper-button-next:before,
    .collection_slider .swiper-button-prev:before {
        content: none;
    }

    .slider-btn-next {
        right: 15px;
    }
    .slider-btn-prev {
        left: 15px;
    }
    .lg-content {
        width: calc(100% - 50px);
    }

    .lg-next, .lg-prev {
        width: 25px;
        height: 25px;
    }
    .lg-next {
        right: -15px;
    }
    .lg-prev {
        left: -15px;
    }
    .lg-toolbar .lg-close {
        top: 5px;
        right: 5px;
    }
    .lg-media-cont {
        top: 40px;
    }
    .esum_brides_detail .gallery-close {
        display: none;
    }
}