/* reset
----------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
	box-sizing: border-box;
}
sub, sup{
    font-size: 10px;
}

.upShow
{
    animation: jsUpShow 1.2s cubic-bezier(0.165,.84,0.44,1) 1s backwards
}
@keyframes jsUpShow
{
    0%
    {
        opacity: 0;
        transform: translateY(40px);
        visibility: hidden
    }
    60%
    {
        opacity: .8
    }
    to
    {
        opacity: 1;
        transform: translateY(0);
        visibility: visible
    }
}
@keyframes jsDownShow
{
    0%
    {
        opacity: 0;
        transform: translateY(-30px);
        visibility: hidden
    }
    60%
    {
        opacity: .8
    }
    to
    {
        opacity: 1;
        transform: translateY(0);
        visibility: visible
    }
}
@keyframes jsFedeShow
{
    0%
    {
        opacity: 0
    }
    to
    {
        opacity: 1;
        visibility: visible
    }
}
@keyframes jsFedeHide
{
    0%
    {
        opacity: 1;
        visibility: visible
    }
    to
    {
        opacity: 0;
        visibility: hidden
    }
}
@keyframes moveFromTop
{
    0%
    {
        transform: translateY(-100%)
    }
    to
    {
        transform: translateY(0)
    }
}
@keyframes moveFromLeft
{
    0%
    {
        transform: translateX(-100%)
    }
    to
    {
        transform: translateX(0)
    }
}
@keyframes moveFromRight
{
    0%
    {
        transform: translateX(100%)
    }
    to
    {
        transform: translateX(0)
    }
}
@keyframes moveFromBottom
{
    0%
    {
        transform: translateY(100%)
    }
    to
    {
        transform: translateY(0)
    }
}
@keyframes moveToTop
{
    0%
    {
        transform: translateY(0)
    }
    to
    {
        transform: translateY(-100%)
    }
}
@keyframes moveToLeft
{
    0%
    {
        transform: translateX(0)
    }
    to
    {
        transform: translateX(-100%)
    }
}
@keyframes moveToRight
{
    0%
    {
        transform: translateX(0)
    }
    to
    {
        transform: translateX(100%)
    }
}
@keyframes moveToBottom
{
    0%
    {
        transform: translateY(100%)
    }
    to
    {
        transform: translateY(0)
    }
}
@keyframes maskFromTop
{
    0%
    {
        -webkit-clip-path: inset(0 0 100% 0);
        clip-path: inset(0 0 100% 0);
        visibility: visible
    }
    to
    {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0);
        visibility: visible
    }
}
@keyframes maskFromLeft
{
    0%
    {
        -webkit-clip-path: inset(0 0 0 100%);
        clip-path: inset(0 0 0 100%);
        visibility: visible
    }
    to
    {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0);
        visibility: visible
    }
}
@keyframes maskFromRight
{
    0%
    {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0);
        visibility: visible
    }
    to
    {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0);
        visibility: visible
    }
}
@keyframes maskFromBottom
{
    0%
    {
        -webkit-clip-path: inset(100% 0 0 0);
        clip-path: inset(100% 0 0 0);
        visibility: visible
    }
    to
    {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0);
        visibility: visible
    }
}
@keyframes maskToTop
{
    0%
    {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0);
        visibility: visible
    }
    to
    {
        -webkit-clip-path: inset(0 0 100% 0);
        clip-path: inset(0 0 100% 0);
        visibility: visible
    }
}
@keyframes maskToLeft
{
    0%
    {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0);
        visibility: visible
    }
    to
    {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0);
        visibility: visible
    }
}
@keyframes maskToRight
{
    0%
    {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0);
        visibility: visible
    }
    to
    {
        -webkit-clip-path: inset(0 0 0 100%);
        clip-path: inset(0 0 0 100%);
        visibility: visible
    }
}
@keyframes maskToBottom
{
    0%
    {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0);
        visibility: visible
    }
    to
    {
        -webkit-clip-path: inset(100% 0 0 0);
        clip-path: inset(100% 0 0 0);
        visibility: visible
    }
}
[data-mask=FromTop]
{
    animation: maskFromTop 0.5s cubic-bezier(0.77,0,0.175,1) forwards
}
[data-mask=FromLeft]
{
    animation: maskFromLeft 0.5s cubic-bezier(0.77,0,0.175,1) forwards
}
[data-mask=FromRight]
{
    animation: maskFromRight 0.5s cubic-bezier(0.77,0,0.175,1) forwards
}
[data-mask=FromBottom]
{
    animation: maskFromBottom 0.5s cubic-bezier(0.77,0,0.175,1) forwards
}
[data-mask=ToTop]
{
    animation: maskToTop 0.5s cubic-bezier(0.77,0,0.175,1) forwards
}
[data-mask=ToLeft]
{
    animation: maskToLeft 0.5s cubic-bezier(0.77,0,0.175,1) forwards
}
[data-mask=ToRight]
{
    animation: maskToRight 0.5s cubic-bezier(0.77,0,0.175,1) forwards
}
[data-mask=ToBottom]
{
    animation: maskToBottom 0.5s cubic-bezier(0.77,0,0.175,1) forwards
}
@keyframes fadeIn
{
    0%
    {
        opacity: 0;
        visibility: hidden
    }
    to
    {
        opacity: 1;
        visibility: visible
    }
}
@keyframes fadeOut
{
    0%
    {
        opacity: 1;
        visibility: visible
    }
    to
    {
        opacity: 0;
        visibility: hidden
    }
}
@keyframes accordionHeight
{
    0%
    {
        height: 0
    }
    to
    {
        height: 100%
    }
}
.jsStanby
{
    visibility: hidden
}
.scrAnim
{
    position: relative
}
.animShow
{
    animation: jsUpShow 0.75s cubic-bezier(0.165,.84,0.44,1) forwards
}
.menuOpen .section-nav
{
    animation-name: fadeIn;
    animation-duration: 0.7s;
    animation-timing-function: cubic-bezier(0.165,.84,0.44,1);
    animation-fill-mode: forwards
}
.menuClose .section-nav
{
    animation-name: fadeOut;
    animation-duration: 0.7s;
    animation-timing-function: cubic-bezier(0.165,.84,0.44,1);
    animation-fill-mode: forwards
}
html
{
    font-size: 62.5%
}
@media screen and(min-width:320px)and(max-width:768px)
{
    html
    {
        font-size: 2.6666666667vw
    }
}
@media screen and(min-width:768px)and(max-width:1600px)
{
    html
    {
        font-size: calc(var(--vw) * 0.00781*100)
    }
}
@media screen and(min-width:1600px)
{
    html
    {
        font-size: 12.5px
    }
}
body
{
    color: #000;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-family: yu-mincho-pr6n, 游明朝, YuMincho, serif;
    font-style: normal;
    font-size: 1.4rem;
    position: relative;
    padding: 0;
    margin: 0;
    line-height: 1.5;
    font-weight: 400;
    font-feature-settings: "palt";
    overflow-y: scroll
}
body,
body:after
{
}
body:after
{
    content: "";
    width: 100vw;
    height: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    pointer-events: none
}
body.ready:after
{
    animation: fadeOut 0.5s both
}
body *,
body:after,
body:before
{
    box-sizing: border-box
}
.bold
{
    font-weight: 700
}

h1,
h2,
h3,
h4,
h5,
h6,
p
{
    margin: 0
}
a
{
    text-decoration: none;
    color: #000
}
a,
a:focus
{
    outline: none
}
a:hover
{
    text-decoration: none;
    -webkit-tap-highlight-color: transparent
}
a:visited
{
    color: #000
}
i
{
    display: inline-block
}
ul
{
    padding: 0;
    margin: 0
}
li
{
    list-style: none
}
figure
{
    margin: 0
}
img
{
    width: 100%;
    height: auto
}
canvas,
img,
video
{
    vertical-align: top
}
button
{
    display: inline-block;
    text-align: center;
    text-decoration: none;
    text-transform: inherit;
    white-space: normal;
    cursor: pointer
}
button,
input,
select,
textarea
{
    margin: 0;
    padding: 0;
    background: 0 0;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    font-family: inherit;
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}
.uneditable-input:focus,
input:focus,
input[type]:focus,
textarea:focus
{
    outline: 0;
    box-shadow: none;
    border: none;
    background-color: transparent
}
input[type=date],
input[type=date]:focus,
input[type=email],
input[type=email]:focus,
input[type=file],
input[type=file]:focus,
input[type=number],
input[type=number]:focus,
input[type=password],
input[type=password]:focus,
input[type=search],
input[type=search]:focus,
input[type=tel],
input[type=tel]:focus,
input[type=text],
input[type=text]:focus,
input[type=url],
input[type=url]:focus,
select,
select:focus,
textarea,
textarea:focus
{
    padding: 0 1rem;
    border: 2px solid #000;
    width: 335px;
    height: 56px;
    font-size: 14px;
    font-weight: 700
}
@media(max-width:768px)
{
    input[type=date],
    input[type=date]:focus,
    input[type=email],
    input[type=email]:focus,
    input[type=file],
    input[type=file]:focus,
    input[type=number],
    input[type=number]:focus,
    input[type=password],
    input[type=password]:focus,
    input[type=search],
    input[type=search]:focus,
    input[type=tel],
    input[type=tel]:focus,
    input[type=text],
    input[type=text]:focus,
    input[type=url],
    input[type=url]:focus,
    select,
    select:focus,
    textarea,
    textarea:focus
    {
        padding: 0 15px;
        height: 42px;
        font-size: 12px;
        border: 1px solid #000;
        width: 100%
    }
    html.ANDROID input[type=date],
    html.ANDROID input[type=date]:focus,
    html.ANDROID input[type=email],
    html.ANDROID input[type=email]:focus,
    html.ANDROID input[type=file],
    html.ANDROID input[type=file]:focus,
    html.ANDROID input[type=number],
    html.ANDROID input[type=number]:focus,
    html.ANDROID input[type=password],
    html.ANDROID input[type=password]:focus,
    html.ANDROID input[type=search],
    html.ANDROID input[type=search]:focus,
    html.ANDROID input[type=tel],
    html.ANDROID input[type=tel]:focus,
    html.ANDROID input[type=text],
    html.ANDROID input[type=text]:focus,
    html.ANDROID input[type=url],
    html.ANDROID input[type=url]:focus,
    html.ANDROID select,
    html.ANDROID select:focus,
    html.ANDROID textarea,
    html.ANDROID textarea:focus
    {
        padding: 0 15px
    }
}
select
{
    cursor: pointer;
    font-weight: 700;
    background: url('data:image/svg+xml;charset=utf-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15"><path d="M.4 4.5l1.1-1.1 6 6 6-6 1.1 1.1-7.1 7.1L.4 4.5z"/></svg>') no-repeat right 1.5rem top 50%/1.5rem
}
@media(max-width:767px)
{
    select
    {
        background-position: right 1.2rem top 50%;
        background-size: 1.2rem
    }
}
textarea,
textarea:focus
{
    font-weight: 700;
    height: 135px
}
input[type=checkbox],
input[type=checkbox]:focus,
input[type=radio],
input[type=radio]:focus
{
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    margin-right: 10px;
    position: relative
}
input[type=checkbox]:focus[type=radio],
input[type=checkbox][type=radio],
input[type=radio]:focus[type=radio],
input[type=radio][type=radio]
{
    border-radius: 20px
}
input[type=checkbox]:checked:before,
input[type=radio]:checked:before
{
    background-color: #333;
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px)
}
input[type=checkbox]:checked[type=radio],
input[type=checkbox]:checked[type=radio]:before,
input[type=radio]:checked[type=radio],
input[type=radio]:checked[type=radio]:before
{
    border-radius: 20px
}
.en,
.f-gill,
.info-contents .pagnation-holder .pagnation-item-link
{
    font-family: gill-sans-nova, sans-serif;
    font-weight: 400
}
.ja
{
    font-family: yu-mincho-pr6n, 游明朝, YuMincho, serif
}
.hide
{
    display: none
}
:root
{
    --vh: 1vh;
    --vw: 1vw
}
svg.sprite,
svg.sprite use
{
    fill: currentColor
}
@media(min-width:769px)
{
    .spOnly
    {
        display: none
    }
}
@media(max-width:768px)
{
    .pcOnly
    {
        display: none
    }
}
.hidden
{
    visibility: hidden
}
svg
{
    width: 100%;
    height: auto
}
.relative
{
    position: relative
}
.w100
{
    width: 100%
}
.t-center
{
    text-align: center
}
.flex-wrapper{
    display: flex;
}
@media(min-width:769px)
{
    .flex,
    .flex-end
    {
        display: flex
    }
    .flex-end
    {
        align-items: center;
        justify-content: flex-end
    }
}
@media(min-width:769px)
{
    .flex-align-center
    {
        display: flex;
        align-items: center
    }
}
@media(min-width:769px)
{
    .flex-center
    {
        justify-content: center;
        display: flex
    }
}
.flex-right
{
    justify-content: flex-end
}
.flex-column
{
    flex-direction: column
}
.flower-collection-a
{
    display: block
}
.flower-collection-b
{
    display: none
}
.flx-wrap
{
    flex-wrap: wrap
}
body[data-page=b] .flower-collection-a
{
    display: none
}
body[data-page=b] .flower-collection-b
{
    display: block
}

img,
svg
{
    width: 100%;
    height: auto
}
.base svg
{
    content-visibility: auto
}
.pic-kv .base svg
{
    content-visibility: unset
}
img
{
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}
html.IE .ie-format,
picture
{
    display: block
}

.ie-format
{
    width: 100%;
    height: 100vh;
    min-height: 550px;
    color: #424242;
    z-index: 999;
    position: relative;
    margin: auto
}
.ie-format .inner
{
    width: 100%;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    padding: 60px 60px 75px;
    transform: translateY(-50%)
}
.ie-format .title
{
    font-size: 24px;
    margin-bottom: 30px;
    font-weight: 700;
    text-align: center
}
.ie-format .text,
.ie-format .text-lead
{
    line-height: 2;
    font-size: 15px
}
.ie-format .text-lead
{
    text-align: center
}
.ie-format .text-holder
{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 60px
}
.ie-format .item
{
    width: auto
}
.ie-format .item+.item
{
    margin-left: 60px
}
.ie-format .item-text
{
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px
}
.ie-format .text
{
    text-align: left;
    width: 300px;
    margin: 30px auto auto
}
.ie-format .copy
{
    margin-top: 100px;
    text-align: center;
    z-index: 5
}
.ie-format .copy,
.underline,
.underline_reverse
{
    position: relative
}
.underline:after,
.underline_reverse:after
{
    content: "";
    width: 100%;
    height: 1px;
    background-color: currentColor;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    transition: transform 0.3s ease;
    transform: scaleX(0);
    transform-origin: bottom right
}
.underline:hover:after,
.underline_reverse:after,
.underline_reverse:hover:after
{
    transform: scaleX(1);
    transform-origin: bottom left
}

.header{
    position: relative;
    z-index: 100;
    transform: translate(0px, 0px) !important;
    opacity: 1 !important;
}

.pc {
	display: block !important;
}

.smp {
	display: none !important;
}

.caption{
    padding: 10px;
}
.caption p{
    font-size: 1.1rem;
}

.none {
    opacity: 0.1;
    cursor: default;
    pointer-events: none;
}

.btn{
	padding: 8px 16px;
	display: inline-block;
	position: relative;
	background: #333;
	color: #fff !important;
	font-size: 2rem;
	transition: all .3s ease-out;
}
.btn:hover{
    opacity: .6;
}
.general-btn{
	margin: 8px;
	padding: 0 16px;
	width: 100%;
	max-width: 575px;
	position: relative;
	background: #ada591;
    color: #004346;
	font-size: 2.6rem;
	line-height: 55px;
}
.general-btn:hover{
	opacity: .7;
}
@media screen and (max-width: 767px){
	.caption{
		font-size: 1rem;
	}
}
.nav-cta-group{
    display: flex;
    gap: 16px;
}
.request-btn{
	background: #b3a996;
    color: #000!important;
	min-width: 180px;
	text-align: center;
}
.request-btn:hover{
	background: #20155e;
    color: #fff!important;
    opacity: 1;
}
.reserve-btn{
	background: #004346;
	min-width: 180px;
    padding: 8px 20px;
	text-align: center; 
}
.reserve-btn:hover{
	background: #5e1519;
    opacity: 1;
}
.online-btn{
	background: #534741;
	min-width: 180px;
	text-align: center; 
}
.online-btn:hover{
	background: #8bafbe;
    color: #000!important;
    opacity: 1;
}
.btn-space{
	margin: 16px 0;
	text-align: center;
}
.entry-btn{
	color: #004346 !important;
	text-align: center;
    font-size: 3.4rem;
    max-width: 450px;
    line-height: 70px;
}
.wrap{
    margin-top: 122px;
    /*overflow: hidden;*/
}
@media screen and (max-width: 1440px){
    .wrap{
        margin-top: 172px;
    }
}
@media screen and (max-width: 767px){
    .wrap{
        margin-top: 70px;
    }
}

/*--------------------------------
完売対応用
--------------------------------*/
@media screen and (max-width: 767px){
    html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      
      body {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
      }
      .footer-container {
        margin-top: auto;
      }
}


/*--------------------------------
header
--------------------------------*/
.header{
	padding: 15px 5%;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 5;
	background: #fff;
    min-height: 120px;
}
@media screen and (min-width: 768px)and (max-width: 1200px){
    .header{
        padding: 15px 16px;
    }
}
@media screen and (max-width: 767px){
	.header{
		height: 70px;
        min-height: 70px;
	}
}
.header .logo{
    margin-right: 363px;
    max-width: 180px;
	height: 86px;
	align-self: center;
	background: url(../img/common/logo.svg) no-repeat center;
	background-size: contain;
    position: relative;
    z-index: 1;
}
.header .logo a{
	height: 100%;
	display: block;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
}
@media screen and (min-width: 1500px){
    .header .logo{
        margin-bottom: -50px;
    }
}
@media screen and (max-width: 767px){
    .header .logo{
        margin-right: 50px;
        height: 45px;
        max-width: 100px;
    }
}
.nav-container{
    margin-left: 200px;
	flex: 1;
}

.global-nav-main{
	margin-top: 20px;
	display: flex;
	justify-content: flex-end;
	gap: 20px;
}
.global-nav-main .nav-list{
	max-width: 120px;
	height: 36px;
	flex: 1;
}
.global-nav-upper{
	display: flex;
	align-items: center;
	position: absolute;
	top: 15px;
	right: 5%;
}
.gnav-link,
.nav-sub-link{
	height: 80%;
	display: block;
	font-size: 1.7rem;
	color: #000;
	text-align: center;
	white-space: nowrap;
}
.nav-sub-link {
    padding: 12px 0;
    display: block;
    font-size: 1.4rem;
    text-align: center;
}
.gnav-link{
	line-height: 35px;
    position: relative;
}
.nav-sub-group{
	margin-right: 24px;
	display: flex;
	gap: 16px;
}
.gnav-link.active{
    border-bottom: 1px solid #8c704a;
}

.gnav-link.new::after {
    position: absolute;
    top: -4px;
    left: 50%;
    content: "NEW";
    color: #8C704A;
    font-size: 1rem;
    line-height: 1;
    transform: translateX(-50%);
}


.hamburger{
	display: none;
}
.hamburger{
	width: 50px;
	height: 50px;
	display: none;
	position: absolute;
	right: 0;
	top: 10px;
}
.hamburger i,
.hamburger::before,
.hamburger::after{
	width: 32px;
	height: 2px;
	position: absolute;
	left: 0;
	right: 0;
	display: block;
	background: #333;
	content: "";
}
.hamburger i{
	margin: -1px auto 0;
	top: 50%;
	transition: all .2s ease-in-out;
}
.hamburger::before{
	margin: 0 auto;
	top: 16px;
	transition: all .2s ease-in-out;
}
.hamburger::after{
	margin: 0 9px 0 auto;
	bottom: 16px;
	transition: all .2s ease-in-out;
}
.is-menu-open .hamburger i{
	transform: rotate(45deg);
}
.is-menu-open .hamburger::before{
	margin-top: -1px;
	top: 50%;
	transform: rotate(-45deg);
}
.is-menu-open .hamburger::after{
	opacity: 0;
}
@media screen and (min-width:768px) and (max-width:1165px){
    .global-nav-main{
        gap: 1.2vw;
    }
    .gnav-link, .nav-sub-link{
        font-size: 1.5vw;
    }
    .request-btn,
    .reserve-btn,
    .online-btn{
        min-width: 88px;
    }
    .nav-cta-group .btn{
        font-size: 1.4vw;
    }
    .nav-cta-group{
        gap: 5px;
    }
    .nav-sub-group{
        margin-right: 10px;
        gap: 10px;
    }
}

@media screen and (max-width: 767px){
	.hamburger{
		display: block;
	}
	.nav-container{
        margin-left: 0;
		padding-bottom: 40px;
		width: 100%;
		max-width: 400px;
		height: calc(100vh - 50px);
		position: fixed;
		top: 70px;
		right: 0;
		bottom: 0;
		z-index: 100;
		background: #fff;
		visibility: hidden;
		overflow: auto;
		transform: translateX(100%);
		transition: all .3s ease-in-out;
	}
	.is-menu-open .nav-container{
		visibility: visible;
		transform: translateX(0);
	}
	.global-nav-inner {
		padding: 0;
		margin: 0 16px;
	}
	.global-nav-main {
		display: block;
	}
	.nav-list {
		margin: 0;
		max-width: 100%;
	}
	.global-nav-upper {
		display: block;
		position: static;
	}
	.nav-cta-group, .nav-sub-group {
		display: block;
		margin: 0;
	}
	.nav-cta-group .nav-list {
		margin: 0 0 8px;
	}
	.global-nav-main .nav-list{
		line-height: 40px;
		max-width: 100%;
	}
	.gnav-link{
		height: 35px;
	}
    .gnav-link.new::after {
        top: 50%;
        left: 8px;
        font-size: 1rem;
        transform: translate(0, -50%);
    }
	.cta-btn {
		padding: 16px 0;
		width: 100%;
		text-align: center;
	}
}


/*--------------------------------
footer
--------------------------------*/
.footer-info{
	text-align: center;
}
.footer-info .btn-space{
	margin: 80px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 30px;
}
.footer-info .btn-space span{
    display: block;
    font-size:2rem;
    margin-bottom: 20px;
}
.footer-info .btn-space a{
    position: relative;
    display: block;
    font-size: 2.8rem;
    color: #fff;
    max-width: 400px;
    padding: 12px 0;
    margin: 0;
}
.footer-info .btn-space a::before{
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(0,-50%);
    right: 16px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5.5px 0 5.5px 17px;
    border-color: transparent transparent transparent #fff;
  }
  .footer-info .btn-space a.request-btn::before{
    border-color: transparent transparent transparent #000;
  }
  .footer-info .btn-space a.request-btn:hover::before{
    border-color: transparent transparent transparent #fff;
  }
.tel-wrapper{
	justify-content: center;
	align-items: center;
    display: inline-block;
    text-align: left;
    margin-bottom: 70px;
}
.tel-wrapper img{
	margin-right: 8px;
	width: 70px;
}
.tel-wrapper dd{
    display: flex;
    align-items: center;
    font-size: 1.4rem;
}
.tel-number{
	color: #000;
	font-size: 5.4rem;
    line-height: 1;
}
.info-holiday{
    padding: 16px;
    margin: 0 auto 70px;
    width: 90%;
    max-width: 520px;
    background: #f0f0f0;
    font-size: 14px;
}
.info-holiday .text-color{
  color: #D11C2C;
}
.text-color{
  color: #D11C2C;
}
.info-holiday-ttl{
    padding-bottom: 8px;
    margin-bottom: 8px;
    font-size: 120%;
    border-bottom: 1px solid #aaa;
}
@media screen and (max-width: 479px){
    .info-holiday{
        margin-bottom: 24px;
    }
}

.logo-container{
	justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 25px;
}
.logo-container li{
    margin: 0 15px;
}
.logo-container li img{
    width: auto;
    height: 40px;
}
.copyright{
	padding: 10px;
	font-size: 1.2rem;
	font-style: normal;
	text-align: center;
    background: #004346;
    color: #fff;
    margin-top: 50px;
}
@media screen and (max-width: 479px){
    .footer-info{
    }
    .footer-info .btn-space{
        margin: 40px 0;
        gap: 15px;
    }
    .footer-info .btn-space span{
        font-size:4vw;
        margin-bottom: 10px;
    }
    .footer-info .btn-space a{
        font-size: 6vw;
        max-width: 450px;
        width: 90%;
        padding: 0 0;
    }
    .tel-wrapper{
        margin-bottom: 20px;
        font-size: 3vw;
    }
    .tel-wrapper img{
        margin-right: 5px;
        width: 40px;
    }
    .tel-wrapper dd{
        font-size: 3vw;
    }
    .tel-number{
        font-size: 12vw;
    }
    
    .logo-container{
        margin-bottom: 15px;
    }
    .logo-container li{
        margin: 0 1.5%;
        width: 30%;
    }
    .logo-container li img{
        width: 100%;
        height: auto;
    }
    .copyright{
        font-size: 2.5vw;
        margin-top: 20px;
    }
}

/*--------------------------------
固定footerボタン
--------------------------------*/
 .fix-footer-btn {
    display: none;
  }
  @media screen and (max-width: 767px){
    .fix-footer-btn {
        display: block;
        position: fixed;
        width: 100%;
        left: 0;
        bottom: 0;
        z-index: 3;
    }
    .fix-footer-btn-lists{
        display: flex;
        justify-content: space-between;
    }
    .fix-footer-btn-list{
        width: 50%;
    }
    .fix-footer-btn-list a{
        padding: 14.5px 0;
        text-align: center;
        display: inline-block;
        width: 100%;
        height: 100%;
    }
    .fix-footer-request a{
        background: #b3a996;
        color: #000;
    }
    .fix-footer-reserve a{
        background: #004346;
        color: #fff !important;
    }
  }

/*-----------------------------------------------------	*/
/*	for - 1279px					*/
/*-----------------------------------------------------	*/

@media screen and (max-width: 1279px) {
    #wrap {
        padding-top: 125px; /*header差分*/
    }
    
        header{
            position: fixed;
        }
        
    /* header */
    header .inner {
        width: 100%;
    }
    
    #smp_hbtn {
        display: block !important;
    }
    
    
    #navi {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 999;
        width: 100%;
    }
    
    #pc_hnavi {
        display: none;
    }
    
    #navi_btn {
        display: block;
    }
    
    #navi nav {
        overflow: hidden;
        margin-top: 80px;
    }
    
    #navi ul {
        display: none;
    }
    
    #navi ul li{
        width: 20%;
        border-bottom: 1px solid #666;
        border-right: 1px solid #666;
    }
    
    #navi ul li a{
        height: 64px;
        background: none;
        font-size: 100%;
        border-left: none;
        box-sizing: border-box;
        background: #111;
        color: #fff;
    }
    #navi ul li a::before{
        display: none;
    }
    #navi ul li span {
        padding: 0;
        background: none !important;
    }
    #navi ul li a:hover{
        background: #082d68;
    }
    
    
    .navi ul {
        overflow: hidden;
    }
    
    .navi li {
        float: left;
        text-align: center;
        border-right: 1px solid #fff;
    }
    .nav li:last-child{
        border-right: none;
    }
    
    .navi li a {
        display: block;
        height: auto;
        padding: 12px 0 10px;
        background: #f3f4ef;
        white-space: nowrap;
    }
    
    
    .navi .nav_request a {
        color: #fff;
        background: linear-gradient(-60deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,0) 100%), #768FBE;
    }
        .navi .nav_request a:hover {
            opacity: .8;
        }
    
    .navi .nav_reserve a {
        color: #fff;
        background: linear-gradient(-60deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,0) 100%), #829F8F;
        text-indent:100%;
      white-space:nowrap;
      overflow: hidden;
    }
    #navi .navi li a,
    #navi .navi li:first-child a{
        border:none;
    }
    #navi .navi li a{
        
    }
    #smp_hnavi {
        display: block;
    }
    
    #smp_hnavi li {
        width: calc(100% / 4);
    }
    #smp_top{
        display: none;
    }
    #smp_hnavi .nav_limited a{
        background: linear-gradient(
            120deg
            , rgba(0,0,0,.4) 0%, rgba(0,0,0,0) 100%), #A48C71;
        color: #fff;
    }
    #smp_hnavi .nav_limited a:hover{
        background: #333;
        color: #fff;
    }
    
}

    
/*-----------------------------------------------------	*/
/*	for - 979px					*/
/*-----------------------------------------------------	*/
    
@media screen and (max-width: 979px) {
    
    #wrap {
        padding-top: 0;
    }
    
    .inner {
        width: 95%;
    }
    
    /* header */
    header{
        transform: translateY(-100%);
        transition: transform .6s ease-out;
    }
    .is-fixed header{
        transform: translateY(0);
    }
    header .inner {
        width: 100%;
    }
        
    .fixed nav {
        width: 100%;
    }
    
    #navi ul li{
        width: 25%;
    }
    #navi ul li.nav_limited a{
        background: #866b47;
    }
}
    
    
/*-----------------------------------------------------	*/
/*	for - 767px					*/
/*-----------------------------------------------------	*/
    
@media screen and (max-width: 767px) {
    /* header */
    #navi ul li{
        width: 50%;
        *width: 49.7%;
    }
    #navi ul li.nav_limited{
        width: 100%;
    }
}
    
    
/*-----------------------------------------------------	*/
/*	ページ下部ナビ*/
/*-----------------------------------------------------	*/

.page-contents{
    background: url(../img/home/top-bg.jpg)no-repeat center;
    background-size: cover;
  }
  .contents-inner .flex-wrapper{
    flex-wrap: wrap;
  }
  .contents-inner{
    padding: 100px 0;
    max-width: 1000px;
    width: calc(100% - 32px);
    margin: 0 auto;
  }
  .contents-heaing{
    position: relative;
    font-size: 3.6rem;
    text-align: center;
    color: #867B63;
    margin-bottom: 100px;
  }
  .contents-heaing::before{
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translate(-50%,0);
    width: 125px;
    height: 1px;
    background: #867B63;
  }
  .contents-list{
    gap: 20px;
  }
  .contents-item{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 33px 20px;
    width: calc(100%/3 - 40px/3);
    color: #fff;
  }
  .contents-item .top-more{
    max-width: 183px;
    width: 100%;
    height: 32px;
    font-size: 1rem;
    gap: 8px;
  }
  .contents-item .top-more span{
    transform: translateY(1px);
  }
  .contents-item:nth-of-type(1){
    background: url(../img/home/contents-img01.jpg)no-repeat center;
    background-size: cover;
  }
  .contents-item:nth-of-type(2){
    background: url(../img/home/contents-img02.jpg)no-repeat center;
    background-size: cover;
  }
  .contents-item:nth-of-type(3){
    background: url(../img/home/contents-img03.jpg)no-repeat center;
    background-size: cover;
  }
  .contents-item:nth-of-type(4){
    background: url(../img/home/contents-img04.jpg)no-repeat center;
    background-size: cover;
  }
  .contents-item:nth-of-type(5){
    background: url(../img/home/contents-img05.jpg)no-repeat center;
    background-size: cover;
  }
  .contents-item:nth-of-type(6){
    background: url(../img/home/contents-img06.jpg)no-repeat center;
    background-size: cover;
  }
  .link-heading{
    position: relative;
    font-size: 2.6rem;
    color: #D6CFC0;
    text-align: center;
    margin-bottom: 40px;
  }
  .link-heading span{
    display: block;
    color: #fff;
    font-size: 1.8rem;
  }
  .link-heading::before{
    content: "";
    position: absolute;
    bottom: -18px;
    left: 50%;
    transform: translate(-50%,0);
    width: 12px;
    height: 12px;
    background: #D6CFC0;
  }
  .contents-note{
    font-size: 1.6rem;
    text-align: center;
    margin-bottom: 20px;
  }
  .contents-item a.top-more{
    background: #D6CFC0;
    border: 1px solid #D6CFC0;
    color: #333;
  }
  .contents-item a.top-more:visited{
    background: #D6CFC0;
    border: 1px solid #D6CFC0;
    color: #333;
  }
  .contents-item a.top-more:hover:visited{
    background: #fff;
    color: #D6CFC0;
  }
  .contents-item a.top-more:hover{
    background: #fff;
    color: #D6CFC0;
  }
  .top-more{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 17px;
    width: 372px;
    height: 66px;
    background: #867B63;
    color: #fff;
    font-size: 2.4rem;
    border: 1px solid #867B63;
    transition: .2s;
  }
  .top-more span{
    display: block;
    transform: translateY(2px);
  }
  a.top-more:visited{
    color: #fff;
  }
  .top-more:hover{
    background:#fff;
  }
  a.top-more:hover:visited{
    color: #867B63;
  }
  @media screen and (max-width:1000px){
    .contents-list{
        gap: 0;
      }
      .contents-item{
        padding: 15px 11px;
        width: calc(100%/2);
      }
  }
@media screen and (max-width: 767px){
    .contents-inner{
      padding: 35px 0;
    }
    .contents-heaing{
      font-size: 1.8rem;
      margin-bottom: 50px;
    }
    .contents-heaing::before{
      width: 60px;
      bottom: -20px;
    }
    .link-heading{
      font-size: 1.3rem;
      margin-bottom: 15px;
    }
    .link-heading span{
      font-size: 1rem;
    }
    .link-heading::before{
      bottom: -10px;
      width: 6px;
      height: 6px;
    }
    .contents-note{
        display: flex;
        height: 44px;
        justify-content: center;
        align-items: center;
        font-size: 1rem;
        margin-bottom: 10px;
    }
}
/* float-banner */
.float-banner {
	position: fixed;
	right: 0;
	bottom: 6.5em;
	opacity: 0;
	z-index: 4;
	transition: opacity .4s ease;
  pointer-events: none;
}
.life-float-banner {
    position: fixed;
    right: 0;
    bottom: 6.5em;
    opacity: 0;
    z-index: 4;
    transition: opacity .4s ease;
    pointer-events: none;
}
.float-banner.none{
    display: none;
}
@media screen and (max-width: 767px){
	.float-banner {
		right: 0;
		bottom: 50px;
	}
    .life-float-banner {
        right: 0;
		bottom: 0;
    }
}
.is-visible {
	opacity: 1;
	display: block;
}
.is-visible.float-banner {
  pointer-events: auto;
}
.is-visible.life-float-banner {
  pointer-events: auto;
}
.float-banner .banner-space {
	margin: 0;
	padding: 0;
	max-width: 300px;
	position: relative;
	width: 100%;
  right: 13px;
}
.life-float-banner .banner-space {
    margin: 0;
    padding: 0;
    max-width: 300px;
    position: relative;
    width: 100%;
    right: 13px;
}
@media screen and (max-width: 767px){
	.float-banner .banner-space {
    margin: 0 0 10px auto;
		max-width: 100%;
    width: 54%;
    right: 4px;
	}
	.life-float-banner .banner-space {
    margin: 0 0 10px auto;
		max-width: 100%;
    width: 54%;
    right: 4px;
	}
}
.float-close {
	width: 30px;
	height: 30px;
	display: block;
	position: absolute;
	right: 0;
	top: -35px;
	z-index: 6;
	cursor: pointer;
  background: #000;
  border-radius: 15px;
}
.float-close:hover{
  opacity: .7;
}
@media screen and (max-width: 767px){
	.float-close {
		width: 24px;
		height: 24px;
    top: -27px;
	}
}
.float-close::before, .float-close::after {
	width: 20px;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	background: #fff;
}
@media screen and (max-width: 767px){
	.float-close::before, .float-close::after {
		width: 18px;
	}
}
.float-close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.bnr-value .float-close::before, .bnr-value .float-close::after {
	background-color: #fff;
}
.float-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
    
@media screen and (max-width: 479px) {
    
    .pc {
        display: none !important;
    }
    
    .smp {
        display: block !important;
    }
    
    
    /* header */
    .header{
        display: flex;
        position: fixed;
    }
    .header .logo {
        margin-right: 0;
        width: 85%;
        height: 50px;
        max-width: 100px;
    }

    .nav-container{
        max-width: none;
    }
    
    #logo {
        width: 110px;
        padding-right: 0;
    }
    
    #logo_bukken {
        padding-top: 13px;
    }
    
    #logo,
    #logo_bukken {
        display: block;
    }
    
    #smp_hbtn a{
        width: 68px;
    }
    
    #smp_top{
        display:none;
    }
    
    #smp_tel{
        display: block;
    }
    
    
    #navi nav {
        margin-top: 80px;
    }
}


/*-----------------------------------------------------	*/
/**/
/*-----------------------------------------------------	*/