@charset "utf-8";
img {
    max-width: 100%;
}

svg {
    max-width: 100%;
    max-height: 100%;
    display: block;
}

.logo svg {
    width: 100%;
    height: 100%;
}

.top-contents {
    color: #FFF;
    background-color: #8BB220;
    padding-top: 4rem;
}

.deco-btm-tri {
    padding-bottom: 15vw;
    background-color: #8BB220;
    background-image: url(../img/obj-triangle.svg);
    background-position: center 101%;
    background-size: auto 15vw;
    background-repeat: no-repeat;
}

@media screen and (max-width: 1000px) {
    .deco-btm-tri {
        margin-bottom: 5vw;
    }
}

@media screen and (max-width: 600px) {
    .deco-btm-tri {
        margin-bottom: 5vw;
    }
}

.lead {
    margin: 3rem auto;
}

.lead p {
    margin-bottom: 1.5rem;
}

@media screen and (max-width: 600px) {
    .lead p {
        text-align: left;
    }
    .top-contents {
        padding-top: 2rem;
    }
}


/*時計*/

.clock {
    width: 60vw;
    height: 60vw;
    max-width: 600px;
    max-height: 600px;
    background: #4D4012;
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
    z-index: 0;
}

.clock:after {
    content: '';
    width: 3vw;
    height: 3vw;
    max-width: 30px;
    max-height: 30px;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: #FFF;
    z-index: 3;
    overflow: hidden;
}

#hour_hand,
#minute_hand {
    display: block;
    position: absolute;
    bottom: 50%;
    left: 0;
    right: 0;
    margin: auto;
    -ms-transform-origin: center bottom;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    z-index: 2;
}

#hour_hand {
    width: 1.4vw;
    max-width: 14px;
    height: 30%;
    background: #FFF;
    border-radius: 7px;
}

#minute_hand {
    width: 1vw;
    max-width: 10px;
    height: 40%;
    background: #FFF;
    border-radius: 5px;
}

.clock .slider {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    position: relative;
}

.clock .slider li {
    width: 100%;
    height: 100%;
    position: relative;
}

.clock .slider img {
    width: auto;
    max-width: none;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#clock::before {
    content: '';
    width: 102%;
    height: 0;
    padding-bottom: 102%;
    display: block;
    background: url(../img/frame-circle_main.svg) no-repeat center center;
    background-size: 102% 102%;
    z-index: 2;
    position: absolute;
    left: -1%;
    top: -1%;
}

#clock #hour_hand,
#clock #minute_hand {
    -ms-transition: 1s opacity 1s;
    -webkit-transition: 1s opacity 1s;
    transition: 1s opacity 1s;
    opacity: 1;
    -ms-transform-origin: bottom center;
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center;
}

#clock.melt #hour_hand,
#clock.melt #minute_hand {
    -ms-transition: 1s opacity 0s;
    -webkit-transition: 1s opacity 0s;
    transition: 1s opacity 0s;
    opacity: 0;
    -ms-transform-origin: bottom center;
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center;
}

#clock #hour_hand,
#clock #minute_hand {
    -webkit-transition: all 1 ease;
    transition: all 1 ease;
}

#clock:after {
    -ms-transition: 1s opacity 0s;
    -webkit-transition: 1s opacity 0s;
    transition: 1s opacity 0s;
    opacity: 1;
}

#clock.melt:after {
    opacity: 0;
    -ms-transition: 1s opacity 1s;
    -webkit-transition: 1s opacity 1s;
    transition: 1s opacity 1s;
}

@-webkit-keyframes melt {
    0% {
        box-shadow: 0 0 0 #FFF;
        opacity: 1;
    }
    100% {
        box-shadow: 0 0 10px #FFF;
        opacity: 0;
        -ms-transform: rotate(700deg) scaleY(.9);
        -webkit-transform: rotate(700deg) scaleY(.9);
        transform: rotate(700deg) scaleY(.9);
    }
}

@keyframes melt {
    0% {
        box-shadow: 0 0 0 #FFF;
        opacity: 1;
    }
    100% {
        box-shadow: 0 0 20px #FFF;
        opacity: 0;
        -ms-transform: rotate(700deg) scaleY(.9);
        -webkit-transform: rotate(700deg) scaleY(.9);
        transform: scaleY(.9);
    }
}

.maincopy {
    position: absolute;
    top: 0;
    right: 0;
    margin: auto;
    width: 230px;
    z-index: 2;
    /* background: #ccc; */
}

.maincopy span {
    width: 75px;
    height: auto;
    position: relative;
    display: inline-block;
    vertical-align: top;
    float: right;
}

.maincopy span:first-child {
    margin-right: 27px;
}

.maincopy span+span {
    margin-right: 25px;
}

@media screen and (max-width: 1000px) {
    .maincopy {
        width: 100%;
    }
    .maincopy span {
        width: 10vw;
        height: auto;
        position: absolute;
        top: 3rem;
        margin: auto;
        float: none;
    }
    .maincopy span:first-child {
        right: 0;
    }
    .maincopy span+span {
        left: 0;
    }
    .maincopy span:first-child {
        margin-right: 0;
    }
}

@media screen and (max-width: 600px) {
    .clock {
        width: 50vw;
        height: 50vw;
        max-width: 600px;
        max-height: 600px;
        background: #CCC;
        border-radius: 50%;
        margin: 0 auto;
        position: relative;
        border-radius: 25vw;
        overflow: hidden;
    }
    .maincopy span {
        width: 13vw;
        height: auto;
        position: absolute;
        top: 2rem;
        margin: auto;
        float: none;
    }
    .maincopy span:first-child {
        right: 0.2rem;
    }
    .maincopy span+span {
        left: 0.2rem;
    }
    .maincopy span svg {
        width: initial!important;
        height: initial!important;
    }
}


/*トップページのとり*/

.birds {
    margin-top: -60px;
    position: relative;
    margin-bottom: 1vw;
    width: 700px;
    margin: -60px auto 0;
}

.birds:after {
    content: '';
    width: 100%;
    height: 100px;
    background: url(../img/nest.png) no-repeat center bottom;
    background-size: 300px;
    display: block;
    position: absolute;
    top: 3.5rem;
    margin: auto;
    z-index: 2;
}

.birds dt {
    display: inline-block;
    height: 8rem;
    vertical-align: top;
}

.birds dt {
    width: 140px;
    height: auto;
}

.birds dt.femaleimg {
    margin-right: -20px;
}

.birds dt.femaleimg span,
.birds dt.maleimg span {
    width: 100%;
    height: 0;
    padding-bottom: 71.4%;
    display: block;
    overflow: hidden;
    position: relative;
}

.birds dt.femaleimg span:before,
.birds dt.maleimg span:before {
    content: '';
    width: 300%;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    padding-bottom: 1428.6%;
    display: block;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
}


/*通常*/

.birds dt.femaleimg span:before {
    background-image: url(../img/animation/f.png);
}

.birds dt.maleimg span:before {
    background-image: url(../img/animation/m.png);
}

.birds dt.femaleimg span:before {
    animation: mainAnime 5s steps(20) infinite;
}

.birds dt.maleimg span:before {
    animation: mainAnime 5s steps(20) infinite;
}

.birds.time9_10 dt.femaleimg span:before {
    animation: mainAnimetalk 5s steps(20) infinite;
}

.birds.time9_10 dt.maleimg span:before {
    animation: mainAnimetalk 5s steps(20) infinite;
}

.birds.time22_9 dt.femaleimg span:before {
    animation: mainAnimeSleep 10s steps(20) infinite;
}

.birds.time22_9 dt.maleimg span:before {
    animation: mainAnimeSleep 10s steps(20) infinite;
}

.birds.time_holiday dt.femaleimg span:before {
    animation: mainAnimeSleep 10s steps(20) infinite;
}

.birds.time_holiday dt.maleimg span:before {
    animation: mainAnimeSleep 10s steps(20) infinite;
}

@keyframes mainAnime {
    0% {
        -ms-transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    100% {
        -ms-transform: translate(0, -100%);
        -webkit-transform: translate(0, -100%);
        transform: translate(0, -100%);
    }
}

@keyframes mainAnimetalk {
    0% {
        -ms-transform: translate(-33.333%, 0);
        -webkit-transform: translate(-33.333%, 0);
        transform: translate(-33.333%, 0);
    }
    100% {
        -ms-transform: translate(-33.333%, -100%);
        -webkit-transform: translate(-33.333%, -100%);
        transform: translate(-33.333%, -100%);
    }
}

@keyframes mainAnimeSleep {
    0% {
        -ms-transform: translate(-66.66%, 0);
        -webkit-transform: translate(-66.66%, 0);
        transform: translate(-66.66%, 0);
    }
    100% {
        -ms-transform: translate(-66.66%, -100%);
        -webkit-transform: translate(-66.66%, -100%);
        transform: translate(-66.66%, -100%);
    }
}

.birds dt img {
    max-height: 100%;
}

.birds dd {
    position: absolute;
    margin: auto;
}

.birds dd.male {
    left: 55%;
    top: 2%;
    margin-left: 5.5rem;
}

.birds dd.female {
    right: 55%;
    top: -2%;
    margin-right: 5.5rem;
}

.birds p {
    font-size: 0.9rem;
    display: inline-block;
    position: relative;
    line-height: 180%;
}

.birds p:before,
.birds p:after {
    content: '';
    width: 15rem;
    height: 3px;
    display: block;
    position: absolute;
    margin: auto;
}


/*メス*/

.birds .female p {
    -ms-transform: rotate(10deg);
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
    text-align: right;
    padding-right: 1.5em;
    -ms-transform-origin: right center;
    -webkit-transform-origin: right center;
    transform-origin: right center;
}

.birds .female p:before,
.birds .female p:after {
    background: url(../img/white-lineL.png) no-repeat right center;
    -ms-transform-origin: right center;
    -webkit-transform-origin: right center;
    transform-origin: right center;
    background-size: 200px;
}

.birds .female p:before {
    -ms-transform: rotate(10deg);
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
    top: 0;
    right: 0;
}

.birds .female p:after {
    -ms-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    right: 0;
    bottom: 0;
}


/*オス*/

.birds .male p {
    -ms-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    text-align: left;
    padding-left: 1.5em;
    -ms-transform-origin: left center;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

.birds .male p:before,
.birds .male p:after {
    background: url(../img/white-lineR.png) no-repeat left center;
    -ms-transform-origin: left center;
    -webkit-transform-origin: left center;
    transform-origin: left center;
    background-size: 200px;
}

.birds .male p:before {
    -ms-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    top: 0;
    left: 0;
}

.birds .male p:after {
    -ms-transform: rotate(10deg);
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
    left: 0;
    bottom: 0;
}

@media screen and (max-width: 1500px) {
    .birds dd.male {
        top: -0.6rem;
        margin-left: 5rem;
    }
    .birds dd.female {
        top: -0.6rem;
        margin-right: 6rem;
    }
    .birds .female p {
        -ms-transform: rotate(20deg);
        -webkit-transform: rotate(20deg);
        transform: rotate(20deg);
    }
    .birds .male p {
        -ms-transform: rotate(-20deg);
        -webkit-transform: rotate(-20deg);
        transform: rotate(-20deg);
    }
}

@media screen and (max-width: 1300px) {
    .birds dd.male {
        top: -2rem;
    }
    .birds dd.female {
        top: -2rem;
    }
    .birds .female p {
        -ms-transform: rotate(30deg);
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }
    .birds .male p {
        -ms-transform: rotate(-30deg);
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }
}

@media screen and (max-width: 600px) {
    .birds dd.male {
        margin-left: 5rem;
    }
    .birds dd.female {
        margin-right: 5rem;
    }
    .birds .male p,
    .birds .female p {
        top: -20px;
    }
}

@-webkit-keyframes talking {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0;
    }
    51% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes talking {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0;
    }
    51% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@media screen and (max-width: 1000px) {
    .birds {
        width: 100%;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        margin-top: -10%;
        z-index: 2;
    }
    .birds:after {
        display: none;
    }
    .birds dt {
        width: 20%;
        height: auto;
        position: relative;
        top: 1vh;
    }
    .birds dt:after {
        content: '';
        width: 150%;
        height: 0;
        padding-bottom: 100%;
        display: block;
        position: absolute;
        top: 50%;
        margin: auto;
        background: url(../img/nest.png) no-repeat center center;
        background-size: 100% auto;
        -ms-transform: translate(-50%, -5%);
        -webkit-transform: translate(-50%, -5%);
        transform: translate(-50%, -5%);
    }
    .birds dt.femaleimg:after {
        left: 60%;
    }
    .birds dt.maleimg:after {
        left: 40%;
    }
    .birds p {
        font-size: 1rem;
    }
    .birds dd.female {
        width: 60%;
        top: auto;
        bottom: 80%;
        left: 20%;
        right: auto;
        -webkit-animation: talking 5s infinite;
        animation: talking 5s infinite;
    }
    .birds .female p {
        width: 100%;
        -ms-transform: rotate(-30deg);
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
        text-align: left;
        padding-left: 1em;
        padding-right: 0;
        -ms-transform-origin: left center;
        -webkit-transform-origin: left center;
        transform-origin: left center;
    }
    .birds .female p:before,
    .birds .female p:after {
        background: url(../img/white-lineR.png) no-repeat left center;
        -ms-transform-origin: left center;
        -webkit-transform-origin: left center;
        transform-origin: left center;
    }
    .birds .female p:before {
        top: auto;
        bottom: 0;
        right: auto;
        left: 0;
        width: 50%;
    }
    .birds .female p:after {
        top: 0;
        bottom: auto;
        left: 0;
        right: auto;
        width: 50%;
    }
    .birds dd.male {
        width: 60%;
        top: auto;
        bottom: 80%;
        right: 20%;
        left: auto;
        -webkit-animation: talking 5s 2.5s infinite;
        animation: talking 5s 2.5s infinite;
    }
    .birds .male p {
        width: 100%;
        -ms-transform: rotate(30deg);
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
        text-align: right;
        padding-left: 0;
        padding-right: 1em;
        -ms-transform-origin: right center;
        -webkit-transform-origin: right center;
        transform-origin: right center;
    }
    .birds .male p,
    .birds .female p {
        top: -27px;
        font-size: 0.8rem;
    }
    .birds p:before,
    .birds p:after {
        width: 12em;
    }
    .birds .male p {
        padding-right: 2em;
    }
    .birds .female p {
        padding-left: 2em;
    }
    .btn_gNavi {
        width: 4em;
        height: 4.5em;
    }
    .birds .male p:before,
    .birds .male p:after {
        background-size: 150%;
    }
    .birds .female p:before,
    .birds .female p:after {
        background-size: 150%;
    }
    .birds .male p:before,
    .birds .male p:after {
        background: url(../img/white-lineL.png) no-repeat right center;
        -ms-transform-origin: right center;
        -webkit-transform-origin: right center;
        transform-origin: right center;
    }
    .birds .male p:before {
        width: 100%;
        top: auto;
        bottom: 0;
        left: auto;
        right: 0;
        width: 50%;
    }
    .birds .male p:after {
        width: 100%;
        top: 0;
        bottom: auto;
        left: auto;
        right: 0;
        width: 50%;
    }
}

@media screen and (max-width: 600px) {
    .birds dt {
        width: 20%;
        height: auto;
        position: relative;
        top: -3vh;
    }
    .birds {
        width: 100%;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: justify;
        justify-content: space-between;
        margin-top: 50px;
        z-index: 2;
    }
    birds .male p:before,
    .birds .male p:after {
        background: url(../img/white-lineL.png) no-repeat right center;
        -ms-transform-origin: right center;
        -webkit-transform-origin: right center;
        transform-origin: right center;
        background-size: cover;
    }
    .birds .male p:before,
    .birds .male p:after {
        background-size: 150%;
    }
    .birds .female p:before,
    .birds .female p:after {
        background-size: 150%;
    }
    .birds .male p,
    .birds .female p {
        font-size: 0.5rem;
    }
}

.howtospend {
    width: 16rem;
    position: absolute;
    left: 0;
    top: 0;
    margin: auto;
    text-align: center;
}

.howtospend h2 {
    background: #FFFF00;
    width: 9rem;
    height: 9rem;
    margin: 0 auto;
    display: block;
    padding: 2.5rem 0 2rem;
    border-radius: 50%;
    text-align: center;
}

.howtospend h2 svg {
    margin: 0 auto;
}

.howtospend p {
    font-size: 1.2rem;
    line-height: 2em;
    width: 4em;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    margin: 1rem auto 0;
    text-align: left;
    white-space: nowrap;
    display: inline-block;
}

@media screen and (max-width: 1200px) {
    .howtospend {
        width: auto;
    }
}

@media screen and (max-width: 1000px) {
    .howtospend {
        position: relative;
        margin-top: 2rem;
    }
    .howtospend h2 {
        position: relative;
        width: 7rem;
        height: 7rem;
        padding: 1.8em 0 1.8em;
        margin: 0 auto;
        z-index: 2;
    }
    .howtospend p {
        font-size: .9rem;
        width: 100%;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        border-left: 2px solid #FFF;
        border-right: 2px solid #FFF;
        position: relative;
        padding: 0 1em 1em;
        text-align: center;
    }
    .howtospend p span {
        display: inline-block;
        text-align: center;
        display: block;
    }
    .howtospend p span br {
        display: none;
    }
    .howtospend p:before,
    .howtospend p:after {
        content: '';
        width: 51.5%;
        height: 2px;
        background: #FFF;
        display: block;
        position: absolute;
        bottom: 100%;
    }
    .howtospend p:before {
        -ms-transform-origin: left bottom;
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -ms-transform: rotate(-12deg);
        -webkit-transform: rotate(-12deg);
        transform: rotate(-12deg);
        left: 0;
    }
    .howtospend p:after {
        -ms-transform-origin: right bottom;
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        -ms-transform: rotate(12deg);
        -webkit-transform: rotate(12deg);
        transform: rotate(12deg);
        right: 0;
    }
}

@media screen and (max-width: 600px) {
    .howtospend p span br {
        display: block;
    }
    .howtospend {
        margin-top: -4rem;
    }
    .howtospend h2 {
        position: relative;
        width: 5rem;
        height: 5rem;
        padding: 1.5em 0 1em;
        margin: 0 auto;
        z-index: 2;
    }
}

.business-hour {
    width: 14rem;
    color: #4D4012;
    background: #FFF;
    border-radius: 10px;
    display: inline-block;
    font-weight: bold;
    padding: 1rem .5rem 1.5rem;
    position: absolute;
    right: 0;
    bottom: 0;
    margin: auto;
}

.business-hour .today-date {
    font-size: .85rem;
}

.business-hour .today-date+dd {
    font-size: 1.6rem;
    line-height: 200%;
}

.business-hour .today-date+dd+dd {
    font-size: 1.1rem;
}

.business-hour .last {
    font-size: .85rem;
    display: inline;
    margin-right: .5em;
}

.business-hour .last+dd {
    font-size: .85rem;
    display: inline;
}

.business-hour .last+dd:after {
    content: '\A';
    white-space: pre;
}

.business-hour .holiday,
.business-hour .holiday+dd {
    display: inline-block;
    color: #FFF;
    font-size: .85rem;
    background: #4D4012;
    line-height: 200%;
    text-align: center;
    margin-top: 1em;
    letter-spacing: .15em;
}

.business-hour .holiday {
    border-radius: 1rem 0 0 1rem;
    padding-left: 1em;
}

.business-hour .holiday+dd {
    border-radius: 0 1rem 1rem 0;
    padding-right: 1em;
}

@media screen and (max-width: 1000px) {
    .business-hour {
        position: relative;
        width: 100%;
        border-radius: 0 0 10px 10px;
        text-align: center;
        padding: 1rem .5rem 1rem;
    }
    .business-hour>dl {
        display: inline-block;
        vertical-align: middle;
    }
    .business-hour>dl:first-child {
        width: 40vw;
    }
    .business-hour>dl:nth-child(2) {
        width: 40vw;
        text-align: center;
        border-left: 1px solid;
    }
}

@media screen and (max-width: 600px) {
    .business-hour>dl:first-child {
        width: 40%;
    }
    .business-hour>dl:nth-child(2) {
        width: 60%;
    }
    .business-hour .today-date {
        font-size: 2.5vw;
        letter-spacing: .2em;
        line-height: 150%;
    }
    .business-hour .today-date+dd {
        font-size: 4vw;
        line-height: 150%;
        letter-spacing: .1em;
    }
    .business-hour .today-date+dd+dd {
        font-size: 3vw;
        letter-spacing: .2em;
        line-height: 150%;
    }
    .business-hour .last,
    .business-hour .last+dd {
        font-size: 3.5vw;
        letter-spacing: .2em;
        line-height: 100%;
    }
    .business-hour .holiday,
    .business-hour .holiday+dd {
        font-size: 3vw;
        margin-top: 0;
    }
}

.pickup {
    width: 18rem;
    position: absolute;
    left: 0%;
    bottom: -11vw;
    margin: auto;
    display: block;
}

.pickup h2 {
    display: block;
    text-align: center;
    margin-bottom: 15px;
}

.pickup h2 svg {
    height: 29px;
    width: auto;
    margin: 0 auto;
}

.pickup .conts-pickup a {
    width: 100%;
    min-height: 76px;
    display: block;
}

.pickup::after {
    content: "";
    width: 270px;
    height: 180px;
    background: url(../img/animation/subako.png) no-repeat 0 0;
    background-size: 540px;
    animation: subakoAnime 10s steps(10) infinite;
    display: block;
}

.pickup:hover::after {
    background-position: -270px 0;
    animation: subakoAnimeHover 3s steps(10) infinite;
}

@media screen and (max-width: 1600px) {
    .pickup {
        bottom: -13vw;
    }
}

@media screen and (max-width: 1200px) {
    .pickup {
        width: 15rem;
        position: absolute;
        left: 0%;
        bottom: -15vw;
        margin: auto;
        display: block;
    }
    .pickup h2 {
        display: block;
        text-align: center;
        margin-bottom: 15px;
    }
    .pickup h2 svg {
        height: 29px;
        width: auto;
        margin: 0 auto;
    }
    .pickup .conts-pickup a {
        width: 100%;
        min-height: 76px;
        display: block;
    }
    .pickup::after {
        content: "";
        width: 180px;
        height: 120px;
        background: url(../img/animation/subako.png) no-repeat 0 0;
        background-size: 360px;
        animation: subakoAnime2 10s steps(10) infinite;
        display: block;
        margin: 0 auto;
    }
    .pickup:hover::after {
        content: "";
        width: 180px;
        height: 120px;
        background: url(../img/animation/subako.png) no-repeat 0 0;
        background-size: 360px;
        animation: subakoAnime2 10s steps(10) infinite;
        display: block;
        margin: 0 auto;
    }
}

@media screen and (max-width: 1000px) {
    .pickup {
        width: 60%;
        bottom: -2rem;
    }
    .pickup h2 {}
    .pickup h2 svg {
        height: 32px;
    }
    .pickup .conts-pickup a {
        position: absolute;
        left: 0;
        top: 8%;
    }
    .pickup .conts-pickup {
        padding-top: 14vw;
        position: relative;
        background: url(../img/frame-pickup_sp.svg) no-repeat center center;
        background-size: 100%;
        margin-bottom: -1.5rem;
    }
}

@media screen and (max-width: 600px) {
    .pickup {
        width: auto;
        bottom: -2rem;
    }
    .pickup h2 {
        margin-bottom: 10px;
    }
    .pickup h2 svg {
        height: 32px;
    }
    .pickup .conts-pickup a {
        position: absolute;
        left: 0;
        top: 8%;
    }
    .pickup .conts-pickup {
        padding-top: 24vw;
        position: relative;
        background: url(../img/frame-pickup_sp.svg) no-repeat center center;
        background-size: 100%;
        margin-bottom: -1.5rem;
    }
}

@keyframes subakoAnime {
    to {
        background-position: 0 -1800px;
    }
}

@keyframes subakoAnimeHover {
    to {
        background-position: -270px -1800px;
    }
}

@media screen and (max-width: 1000px) {
    .pickup .conts-pickup a {
        width: 100%;
        min-height: 76px;
        display: block;
    }
    .pickup:hover::after,
    .pickup::after {
        content: "";
        width: 135px;
        height: 90px;
        background: url(../img/animation/subako.png) no-repeat 0 0;
        background-size: 270px;
        animation: subakoAnime 10s steps(10) infinite;
        display: block;
        background-position: -135px 0;
        animation: subakoAnimesp 3s steps(10) infinite;
        margin: 0 auto;
    }
    @keyframes subakoAnimesp {
        to {
            background-position: -135px -900px;
        }
    }
    @keyframes subakoAnime2 {
        to {
            background-position: -180px -1200px;
        }
    }
}

.conts-pickup {
    padding: 1rem 1rem 2rem;
    background: url(../img/frame-pickup.svg) no-repeat center center;
    background-size: 100% 100%;
    margin-bottom: -1.5rem;
}

.conts-pickup figure {
    width: 30%;
    height: 0;
    padding-bottom: 30%;
    display: inline-block;
    vertical-align: middle;
    border-radius: 50%;
    overflow: hidden;
    background-size: auto 100%;
    background-position: center center;
}

.conts-pickup p {
    color: #4D4012;
    width: 65%;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    margin-left: 5%;
    line-height: 150%;
    font-size: .9rem;
    letter-spacing: 0;
}

@media screen and (max-width: 1000px) {
    .pickup {
        position: relative;
        left: auto;
    }
    .conts-pickup figure {
        margin-left: 0;
        width: 22%;
        padding-bottom: 22%;
    }
    .conts-pickup p {
        width: 65%;
    }
}

.facility {
    margin-bottom: 50px;
}

.facility .title-top-facility {
    margin-bottom: 5rem;
    margin-top: -5vw;
    display: inline-block;
}

.facility-nav-items>* {
    -ms-transition: all 3s;
    -webkit-transition: all 3s;
    transition: all 3s;
}

.facility-nav-items figure {
    width: auto;
    height: auto;
    border-radius: 50%;
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.facility-nav-items figure img {
    -ms-transition: all 3s;
    -webkit-transition: all 3s;
    transition: all 3s;
}


/*.facility-nav-items figure:after { content:''; width: 106%; height: 106%; display: block; position: absolute; top: 50%; left: 50%; margin: auto; z-index: 2; border-radius: 50%; -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);-ms-transition:all .3; -webkit-transition:all .3s; transition:all .3s;  box-shadow: 0 0 0 20px #FFF, inset 0 0 0 0px #FFF; }
*/

.facility-nav-items figure img {
    width: 100%;
    border-radius: 50%;
}

.facility-nav-items h3 {
    font-size: 1.2rem;
    font-weight: bold;
    margin-top: 1rem;
    margin-bottom: .5em;
    position: relative;
    z-index: 3;
}

.facility-nav-items p {
    font-size: 1rem;
    position: relative;
    z-index: 3;
}

.facility-nav-items>li {
    position: relative;
}

.facility-nav-items>li:first-child {
    margin-top: 15rem;
    margin-right: -6rem;
}

.facility-nav-items>li:nth-child(2) {
    margin-right: -6rem;
}

.facility-nav-items>li:nth-child(3) {
    margin-top: 18rem;
}

.facility-nav-items>li:nth-child(4) {
    margin-left: 5%;
}

.facility-nav-items>li:nth-child(5) {
    margin-top: -15rem;
}

.facility-nav-items>li:nth-child(6) {
    margin-top: 2rem;
}

.facility-nav-items .octagon-sns {
    text-align: center;
    width: 40vw;
    height: 40vw;
    min-width: 10rem;
    min-height: 10rem;
    margin: 0 22% 0 auto;
}

.facility-nav-items>li .img-wrap {
    position: relative;
    width: 100%;
}

.facility-nav-items>li .img-wrap::after {
    content: '';
    width: 102%;
    height: 0;
    padding-bottom: 102%;
    display: block;
    background: url(../img/frame-circle.png) no-repeat center center;
    background-size: 100% 100%;
    z-index: 2;
    position: absolute;
    left: -1%;
    top: -1%;
}

.facility-nav-items>li.t-sugomori .img-wrap::before {
    content: "";
    width: 160px;
    max-width: 80%;
    height: 140px;
    position: absolute;
    left: 50%;
    top: -80px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: url(../img/animation/su.gif) no-repeat;
    background-size: 100%;
    z-index: 10;
}

.facility-nav-items>li.t-eat .img-wrap::before {
    content: "";
    width: 190px;
    max-width: 80%;
    height: 140px;
    position: absolute;
    left: 50%;
    top: -80px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: url(../img/animation/f1_su.gif) no-repeat;
    background-size: 100%;
    z-index: 10;
}

.facility-nav-items>li.t-spa .img-wrap::before {
    content: "";
    width: 190px;
    max-width: 80%;
    height: 140px;
    position: absolute;
    left: 50%;
    top: -80px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: url(../img/animation/m1_su.gif) no-repeat;
    background-size: 100%;
    z-index: 10;
}

.facility-nav-items>li.t-garden .img-wrap::before {
    content: "";
    width: 170px;
    max-width: 80%;
    height: 60px;
    position: absolute;
    left: 50%;
    bottom: -10px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: url(../img/animation/welcome.png) no-repeat;
    background-size: 100%;
    background-position: center bottom;
    z-index: 10;
}

.facility-nav-items>li.t-spend .img-wrap::before {
    content: "";
    width: 135px;
    height: 105px;
    max-width: 80%;
    position: absolute;
    left: 50%;
    bottom: -10px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: url(../img/animation/hammock.gif) no-repeat;
    background-size: 100%;
    background-position: center bottom;
    z-index: 10;
}

.facility-nav-items.hide-3-4>li:nth-child(4) {
    margin-left: 3%;
}

.facility-nav-items.hide-3-4 .octagon-sns {
    margin: 0 auto;
}


/*
.facility-nav-items > li.hover:hover figure:after { box-shadow: 0 0 0 20px #FFF, inset 0 0 0 20px #FFF; box-sizing: border-box; }
*/

.facility-nav-items>li.hover:hover figure img {
    -ms-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

@media screen and (max-width: 1500px) {
    .facility-nav-items p br {
        display: none;
    }
}

@media screen and (max-width: 1000px) {
    .facility .title-top-facility {
        margin-top: -2em;
        margin-bottom: 5rem;
    }
    .facility-nav-items>li.t-spa .img-wrap::before {
        content: "";
        width: 40%;
        height: auto;
        padding-top: 30%;
        position: absolute;
        left: 50%;
        top: -22%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        background: url(../img/animation/m1_su.gif) no-repeat;
        background-size: 100%;
        z-index: 10;
    }
    .facility-nav-items>li.t-sugomori .img-wrap::before {
        content: "";
        width: 40%;
        height: auto;
        padding-top: 34%;
        position: absolute;
        left: 50%;
        top: -20%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        background: url(../img/animation/su.gif) no-repeat;
        background-size: 100%;
        z-index: 10;
    }
    .facility-nav-items>li.t-eat .img-wrap::before {
        content: "";
        width: 40%;
        height: auto;
        padding-top: 30%;
        position: absolute;
        left: 50%;
        top: -22%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        background: url(../img/animation/f1_su.gif) no-repeat;
        background-size: 100%;
        z-index: 10;
    }
    .facility-nav-items>li.t-spend .img-wrap::before {
        content: "";
        width: 40%;
        height: 31%;
        max-width: 80%;
        position: absolute;
        left: 50%;
        bottom: -5%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        background: url(../img/animation/hammock.gif) no-repeat;
        background-size: 100%;
        background-position: center bottom;
        z-index: 10;
    }
    .facility-nav-items.hide-3-4>li:nth-child(4) {
        width: 0;
        margin-left: 0;
    }
}

@media screen and (max-width: 600px) {
    .facility-nav-items>li .img-wrap {
        position: relative;
        width: 45%;
    }
    .facility .title-top-facility {
        margin-top: 0;
        margin-bottom: 3rem;
    }
    .facility {
        margin-bottom: 0;
    }
}


/*insta*/

.insta-img {
    width: 8rem;
    height: 8rem;
    display: inline-block;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    margin: auto;
    z-index: 2;
    border: 1px solid #DDD;
    -webkit-animation: poko .3s linear forwards;
    animation: poko .3s linear forwards;
    opacity: 0;
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0);
    -ms-transform-origin: center center;
    -webkit-transform-origin: center center;
    transform-origin: center center;
    opacity: 0;
    -ms-transition: all .8s;
    -webkit-transition: all .8s;
    transition: all .8s;
}

.insta-img img {
    width: 100%;
    height: 100%;
    -ms-transition: all .8s;
    -webkit-transition: all .8s;
    transition: all .8s;
}

.insta-img:first-child {
    left: 21%;
    top: 2%;
}

.insta-img:nth-child(2) {
    right: 21%;
    top: 5%;
}

.insta-img:nth-child(3) {
    left: 28%;
    top: 42%;
}

.insta-img:nth-child(4) {
    left: 33%;
    bottom: 0;
}

.insta-img:nth-child(5) {
    right: 20%;
    bottom: 6%;
}

.inview .insta-img {
    opacity: 1;
}

.insta-img.hover:hover img {
    -ms-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.insta-img:first-child.inview {
    -webkit-animation-delay: .6s;
    animation-delay: .6s;
}

.insta-img:nth-child(2).inview {
    -webkit-animation-delay: .3s;
    animation-delay: .3s;
}

.insta-img:nth-child(3).inview {
    -webkit-animation-delay: .9s;
    animation-delay: .9s;
}

.insta-img:nth-child(4).inview {
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s;
}

.insta-img:nth-child(5).inview {
    -webkit-animation-delay: 1.2s;
    animation-delay: 1.2s;
}

@media screen and (max-width: 1000px) {
    .facility-nav-items>li {
        width: 45%;
        margin-bottom: 5rem;
    }
    .facility-nav-items p {
        text-align: left;
    }
    .facility-nav-items>li:first-child {
        margin-top: 5rem;
        margin-right: 0;
    }
    .facility-nav-items>li:nth-child(2) {
        margin-right: 0;
    }
    .facility-nav-items>li:nth-child(3) {
        margin-top: 0;
    }
    .facility-nav-items>li:nth-child(4) {
        margin-top: -2rem;
    }
    .facility-nav-items>li:nth-child(5) {
        margin-top: -5em;
        margin-bottom: 0;
    }
    .insta-img {
        width: 6rem;
        height: 6rem;
    }
    .insta-img:first-child {
        left: auto;
        right: 47%;
        top;
        top: 3%;
    }
    .insta-img:nth-child(2) {
        left: 84%;
        right: auto;
        top;
        top: 31%;
    }
    .insta-img:nth-child(3) {
        left: 42%;
        right: auto;
        top: 36%;
    }
    .insta-img:nth-child(4) {
        l;
        left: 83%;
        ight: auto;
        bottom: 25%;
    }
    .insta-img:nth-child(5) {
        l;
        left: 51%;
        right: inherit;
        bottom: 4%;
    }
}

@media screen and (max-width: 600px) {
    .facility-nav-items {
        font-size: .9rem;
        text-align: left;
    }
    .facility-nav-items>li {
        width: 100%;
    }
    .facility-nav-items>li:first-child {
        margin-top: 0;
    }
    .facility-nav-items>li:nth-child(4) {
        margin-top: 0;
    }
    .facility-nav-items>li:nth-child(5) {
        margin-top: 0;
    }
    .facility-nav-items>li:nth-child(6) {
        width: 100%;
        margin-top: 0;
    }
    .facility-nav-items .octagon-sns {
        margin: 10% auto 5%;
        height: 24vw;
        min-height: inherit;
    }
    .facility-nav-items h3 {
        font-size: 1rem;
        font-weight: bold;
    }
    .facility-nav-items>li>a {
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        align-items: flex-start;
    }
    .facility-nav-items>li:nth-child(even)>a {
        -webkit-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    .facility-nav-items .img-wrap {
        width: 45%;
    }
    .facility-nav-items .conts-txt {
        width: 50%;
    }
    .insta-img {
        width: 20vw;
        height: 20vw;
        margin: 0 1vh;
        position: relative;
    }
    .insta-img:first-child,
    .insta-img:nth-child(2),
    .insta-img:nth-child(3),
    .insta-img:nth-child(4),
    .insta-img:nth-child(5) {
        left: auto;
        left: inherit;
        right: auto;
        right: inherit;
        top: auto;
        top: inherit;
        bottom: auto;
        bottom: inherit;
    }
}


/*news*/

.title-top-news {
    width: 4rem;
    margin: 0 auto;
}

.list-news {
    margin: -5rem auto 2rem;
}

.list-news.archive {
    margin-top: 0;
}

.list-news>li:nth-child(4n + 2),
.list-news>li:nth-child(4n + 3) {
    margin-top: 5rem;
}

.panel-news {
    width: 100%;
    position: relative;
}

.panel-news figure {
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
    border-radius: 50%;
}

.panel-news figure:before {
    content: '';
    width: 102%;
    height: 0;
    padding-bottom: 102%;
    display: block;
    background: url(../img/frame-circle.png) no-repeat center center;
    background-size: 102% 102%;
    z-index: 2;
    position: absolute;
    left: -1%;
    top: -1%;
}

.panel-news figure div {
    width: 100%;
    height: auto;
    padding-top: 98.5%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-size: auto 100%;
    background-position: center center;
    background-repeat: no-repeat;
    -ms-transition: all .8s;
    -webkit-transition: all .8s;
    transition: all .8s;
}

.panel-news .date {
    width: 4.5rem;
    height: 4.5rem;
    padding: 1.25rem 0;
    text-align: center;
    border: 2px solid;
    background: #FFF;
    font-size: .6rem;
    font-weight: bold;
    line-height: 120%;
    border-radius: 50%;
    margin: -2rem auto 0.5rem;
    z-index: 3;
    position: relative;
    letter-spacing: .2em;
}

.panel-news .date span {
    font-size: 1.5em;
    display: block;
    line-height: 120%;
    margin-top: 3px;
}

.panel-news .category {
    color: #FFF;
    width: 2.5em;
    font-size: .8rem;
    line-height: 250%;
    height: auto;
    min-height: 7em;
    padding: .5em 0;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    display: block;
    position: absolute;
    top: -1em;
    left: 50%;
    margin: auto;
    background: #4D4012;
    display: inline-block;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 3;
}

.category {
    background: #4D4012;
}

.category.news {
    background: #4D4012;
}

.category.event {
    background: #EFB014;
}

.category.spring {
    background: #cf9642;
}

.category.lounge {
    background: #625c33;
}

.category.restaurant {
    background: #d54f42;
}

.category.garden {
    background: #87ac4d;
}

.category.yomogi {
    background: #2e592f;
}

.category.matsushiro {
    background: #423a55;
}

.panel-news.hover:hover figure div {
    -ms-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

@media screen and (max-width: 600px) {
    .title-top-news {
        width: 2rem;
    }
    .list-news {
        margin-top: -1rem;
        margin-bottom: 0rem;
    }
    .list-news>li:nth-child(2),
    .list-news>li:nth-child(3) {
        margin-top: 0;
    }
    .panel-news .category {
        font-size: .6rem;
    }
    .list-news>li:nth-child(4n + 2),
    .list-news>li:nth-child(4n + 3) {
        margin-top: 0;
    }
    .panel-news p br {
        display: none;
    }
    .panel-news .date {
        font-size: .5rem;
    }
}

.news-category {
    border-top: 1px solid;
    border-bottom: 1px solid;
    padding: 2rem 0 1rem;
}

.news-category h2 {
    font-weight: bold;
    margin-bottom: 1.5rem;
}

.news-category ul>li {
    margin-bottom: 0.5rem;
}

.news-category a {
    display: block;
    text-align: left;
    position: relative;
    font-weight: bold;
    padding-left: 1.3rem;
    font-size: 0.9rem;
    letter-spacing: 0;
}

.pagination {
    margin: 100px auto 2rem;
    padding: 0 5rem;
    position: relative;
}

.pagination>* {
    display: inline-block;
}

.pagination .page-prev {
    height: 1.5em;
    line-height: 1.5em;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    font-weight: bold;
}

.pagination .page-next {
    height: 1.5em;
    line-height: 1.5em;
    text-algin: right;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    font-weight: bold;
}

.pagination ul>li {
    color: #8BB220;
    display: inline-block;
    width: 2em;
    height: 2em;
    margin: 0 0.2em;
}

.pagination ul>li a {
    width: 100%;
    height: 100%;
    display: block;
}

.pagination ul>li a.page-numbers {
    width: 2em;
    height: 2em;
    line-height: 2em;
    text-align: center;
    border: 1px solid #8BB220;
    border-radius: 1em;
    letter-spacing: 0;
    display: block;
}

.pagination ul>li .page-numbers.current {
    color: #FFF;
    background: #8BB220;
    width: 2em;
    height: 2em;
    line-height: 2em;
    text-align: center;
    border: 1px solid #8BB220;
    border-radius: 1em;
    letter-spacing: 0;
    display: block;
}


/*ニュース記事ページ*/

.post-title {
    background: rgba(77, 64, 18, .1);
    text-align: left;
    margin-bottom: 50px;
}

.post-title .conts-txt {
    padding: 2rem 0;
}

.post-title .category {
    color: #FFF;
    font-size: .9rem;
    line-height: 2em;
    width: 2em;
    padding: .5em 0;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-align: left;
    float: left;
    margin-right: 1em;
    letter-spacing: .2em;
}

.post-title .title {
    font-size: 2rem;
    font-weight: bold;
    line-height: 150%;
    padding-left: 2.7rem;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}

.post-title .date {
    font-weight: bold;
    font-size: .8rem;
}

.post-title .eyecatch img {
    width: 100%;
}

@media screen and (max-width: 1000px) {
    .post-title .title {
        font-size: 1.5rem;
        font-size: 4vw;
    }
}

.content-post {
    text-align: left;
    letter-spacing: .2em;
}

.content-post * {
    max-width: 100%;
    height: auto;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}

.content-post p {
    margin-bottom: 1.5em;
}

.content-post .alignleft {
    float: left;
    margin-right: 1rem;
}

.content-post .alignright {
    float: right;
    margin-left: 1rem;
}

.content-post .aligncenter {
    margin-left: auto;
    margin-right: auto;
}

.content-post a {
    text-decoration: underline;
}

.content-post blockquote {
    border: 1px solid rgba(77, 64, 18, .1);
    padding: 2rem;
}

.content-post ul li {
    list-style: disc inside;
    padding-left: 1rem;
    text-indent: -1rem;
}

.content-post ol li {
    list-style: decimal inside;
    padding-left: 1rem;
    text-indent: -1rem;
}

.content-post dl dt {
    font-weight: bold;
}

.content-post dl dd {
    margin-bottom: 1em;
}

.content-post h1 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 1em;
}

.content-post h2 {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 1em;
}

.content-post h3 {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 1em;
}

.content-post h4 {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 1em;
}

.content-post table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-top: 1px solid #4D4012;
    border-bottom: 1px solid #4D4012;
}

.content-post table tr+tr {
    border-top: 1px solid #4D4012;
}

.content-post table th,
.content-post table td {
    padding: 10px;
}

.content-post table thead tr+tr {
    border-top: 1px solid #FFF;
}

.content-post table thead th {
    color: #FFF;
    background: #4D4012;
    text-align: center;
}

.content-post table thead th+th {
    border-left: 1px solid #FFF;
}

.content-post table tbody th {
    background: rgba(77, 64, 18, .1);
}

.content-post table tbody td {
    text-align: center;
    border-left: 1px solid #4D4012;
}


/*下層ページ*/

.lower-mainvisual {
    height: 570px;
    color: #FFF;
    text-align: left;
    padding: 80px 0;
    overflow: hidden;
    margin-bottom: 5rem;
    position: relative;
}

.lower-mainvisual .contents-wrap {
    max-width: inherit;
    margin: auto;
}

.lower-mainvisual:before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-radius: 100px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: -1;
}

.lower-mainvisual h2 {
    margin-bottom: 2rem;
}

.lower-mainvisual h2 span {
    font-size: 1.1rem;
    line-height: 100%;
    font-weight: bold;
    display: block;
    margin-bottom: 1.5em;
}

.lower-mainvisual h2 svg {
    height: 192px;
}

.lower-mainvisual p {
    width: 50%;
}

.lower-mainvisual.spring:before {
    background-image: url(../spring/img/mainvisual.jpg);
}

.lower-mainvisual.lounge:before {
    background-image: url(../lounge/img/mainvisual.jpg);
}

.lower-mainvisual.meal:before {
    background-image: url(../meal/img/mainvisual.jpg);
}

.lower-mainvisual.spend:before {
    background-image: url(../spend/img/mainvisual.jpg);
}

.lower-mainvisual.garden:before {
    background-image: url(../garden/img/mainvisual.jpg);
}

.lower-mainvisual.spring h2 svg {
    width: 366px;
}

.lower-mainvisual.lounge h2 svg {
    width: 420px;
}

.lower-mainvisual.spend {
    text-align: center;
}

.lower-mainvisual.spend .conts-txt {
    margin: 0 5%;
}

.lower-mainvisual.spend h2 {
    width: 100%;
    font-size: 2.5rem;
    line-height: 150%;
    font-weight: bold;
    margin-bottom: 8rem;
}

.lower-mainvisual.spend h2 span {
    font-size: .5em;
}

.spend-navi {
    border-left: 2px solid #FFF;
    border-right: 2px solid #FFF;
}

.spend-navi>li {
    width: 33%;
    margin-bottom: 0;
    font-size: 1.2rem;
    font-weight: bold;
}

.spend-navi>li+li {
    border-left: 2px solid #FFF;
}

.lower-mainvisual.spend span {
    display: block;
    font-family: 'Asap', sans-serif;
    font-size: .8em;
}

@media screen and (max-width: 1500px) {
    .spend-navi>li {
        font-size: 1rem;
    }
}

@media screen and (max-width: 1000px) {
    .lower-mainvisual {
        height: auto;
        padding: 5vw 0 45vw;
    }
    .lower-mainvisual:before {
        border-radius: 10vw;
    }
    /*	.lower-mainvisual { height: auto; color: #FFF; text-align: left; border-radius: 0; overflow: hidden; padding-top: 51.5%; padding-bottom: 0; }
	.lower-mainvisual:before { height: 0; padding-bottom: 57%; border-radius: 10vw;}
	.lower-mainvisual .conts-txt { position: relative; }
	.lower-mainvisual h2 { position: absolute; bottom: 100%; left: 0; margin: auto; padding: 2rem 0; }
	.lower-mainvisual h2 span { font-size: 1rem; }
	.lower-mainvisual p { color: #4D4012; width: 100%; padding-top: 2rem; }


	.lower-mainvisual.spend h2 { font-size: 1rem; margin-bottom:0; }
	.spend-navi { color: #4D4012; display: none; }
*/
}

@media screen and (max-width: 600px) {
    .lower-mainvisual:before {
        border-radius: 5vw;
    }
    .lower-mainvisual {
        margin-bottom: 1rem;
    }
    .lower-mainvisual h2 {
        padding: 3vw 0;
    }
    .lower-mainvisual h2 span {
        font-size: .8rem;
        margin-bottom: 1rem;
    }
    .lower-mainvisual h2 svg {
        max-width: 80%;
        height: 25vw;
    }
    .lower-mainvisual.spend h2 {
        width: 100%;
        font-size: 1.7rem;
        line-height: 150%;
        font-weight: bold;
        margin-bottom: 2rem;
    }
    .spend-navi {
        border-left: none;
        border-right: none;
        border-top: 1px solid #fff;
    }
    .spend-navi>li {
        width: 100%;
        margin-bottom: 0;
        font-size: 1.2rem;
        font-weight: bold;
        border-bottom: 1px solid #fff;
        margin-bottom: 0;
    }
    .spend-navi>li a {
        padding: 10px 0;
        display: block;
    }
    .spend-navi>li+li {
        border-left: none;
    }
    .spend-navi.lay-column3>*:nth-last-child(-n+3) {
        margin-bottom: 0;
    }
    .lower-mainvisual.spend span {
        display: block;
        font-family: 'Asap', sans-serif;
        font-size: .8em;
    }
    .lower-mainvisual.spend {
        padding: 5vw 0 12vw;
    }
}

.list-lounge .conts-img img {
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    border-radius: 0 100px 100px 0;
}

.list-lounge .RtoL .conts-img img {
    border-radius: 100px 0 0 100px;
}

#lounge .list-lounge .conts-txt {
    margin-bottom: 80px;
    margin-top: 70px;
}

.list-lounge>li {
    position: relative;
}

.related-links {
    margin-top: 250px;
    padding: 2rem 0 2rem;
    position: relative;
}

.related-links .list-news {
    margin-top: 0;
}

.related-links .title-curtain {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10;
}

@media screen and (max-width: 1000px) {
    .related-links {
        margin-top: 30vw;
    }
    .list-lounge .conts-img img {
        border-radius: 0 10vw 10vw 0;
    }
    .list-lounge .RtoL .conts-img img {
        border-radius: 10vw 0 0 10vw;
    }
    .list-lounge.list-txt-img .conts-img {
        width: 95%;
        margin: 0 auto 0 0;
    }
    .list-lounge.list-txt-img .RtoL .conts-img {
        width: 95%;
        margin: 0 0 0 auto;
    }
    .list-lounge.list-txt-img .conts-txt,
    .list-lounge.list-txt-img .RtoL .conts-txt {
        width: 90%;
        margin: 1rem auto 0;
    }
}

@media screen and (max-width: 900px) {
    .list-lounge>li {
        padding-top: 4rem;
        position: relative;
    }
    /*	.list-lounge h3 { position: absolute; top: 0; left: 0; right: 0 ;margin: auto; }
	*/
}


/*information*/

.googlemap {
    width: 100%;
    height: 0;
    padding-bottom: 60%;
    position: relative;
    margin-bottom: 100px;
}

.googlemap::before {
    content: "";
    width: 230px;
    height: 160px;
    background: url(../information/img/shisetu.png) no-repeat;
    background-size: 230px;
    position: absolute;
    right: 0;
    top: -140px;
    z-index: 10;
}

.googlemap iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.googlemap .mapinfo {
    width: 30rem;
    max-width: 90%;
    padding: 1.5rem 1rem 0;
    font-weight: bold;
    position: absolute;
    left: 0;
    bottom: -50px;
    right: 0;
    margin: auto;
    background: #FFF;
    z-index: 2;
}

.googlemap .mapinfo .list-vbar2 {
    width: 60%;
    margin: .5rem auto;
    font-size: .8rem;
    display: inline-block;
    text-align: left;
}

.googlemap .mapinfo .list-vbar2 dt {
    margin-top: 10px;
}

.googlemap .mapinfo .list-vbar2 dd {
    margin-top: 10px;
}

.googlemap .mapinfo a {
    margin-top: 1rem;
}

@media screen and (max-width: 600px) {
    .googlemap {
        padding-bottom: 0;
        height: 500px;
    }
    .googlemap .mapinfo {
        padding: 1rem 0;
        font-size: .9rem;
    }
    .googlemap .mapinfo a {
        margin-top: 1rem;
    }
    .googlemap .mapinfo .list-vbar2 {
        width: 90%;
    }
    .googlemap::before {
        content: "";
        width: 115px;
        height: 80px;
        background: url(../information/img/shisetu.png) no-repeat;
        background-size: 115px;
        position: absolute;
        right: 0;
        top: -70px;
        z-index: 10;
    }
}

#information table.tbl.box-container-s {
    margin-bottom: 50px;
}

.info-today {
    font-weight: bold;
}

.info-today .status {
    font-size: 2.5rem;
    line-height: 180%;
}

.info-today .holiday,
.info-today .holiday-date {
    color: #FFF;
    line-height: 100%;
    background: #4D4012;
    display: inline-block;
    padding: .6em .6em .5em .6em;
}

.info-today .holiday {
    padding-left: 2em;
    border-radius: 1rem 0 0 1rem;
}

.info-today .holiday-date {
    padding-right: 2em;
    border-radius: 0 1rem 1rem 0;
}

.info-table .t-sub {
    font-size: .8em;
    letter-spacing: .05em;
}

#information .info-table th {
    vertical-align: middle;
}

#information .info-table td {
    width: 68%;
    text-align: left;
}

#information .info-table tbody th {
    width: 32%;
}

.info-table td {
    vertical-align: middle;
}

.info-table td .caption {
    display: inline;
    margin-left: 1em;
}

.info-table td .caption::before {
    line-height: 1.2em;
}

@media screen and (max-width: 600px) {
    #information .info-table th {
        width: 100%;
    }
    #information .info-table td {
        width: 100%;
        text-align: left;
    }
    #information .info-table tbody th {
        width: 100%;
    }
    .info-today .status {
        font-size: 2rem;
    }
    .info-today .holiday,
    .info-today .holiday-date {
        font-size: .9rem;
    }
    .info-table th {
        width: 30%;
        line-height: 150%;
    }
    .info-table .t-sub {
        display: block;
    }
    .info-table.price-table thead {
        display: none;
    }
    .info-table.price-table tbody:before {
        content: attr(data-label);
        display: block;
        padding: .5rem;
        background: #4D4012;
        color: #FFF;
    }
    .info-table.price-table tbody tr {
        padding-bottom: 2rem;
    }
    .info-table.price-table tbody th {
        display: block;
        width: 100%;
        text-align: center;
    }
    .info-table.price-table tbody td {
        display: block;
        width: 100%;
        border-left: none;
        position: relative;
        font-size: 1.5rem;
        line-height: 150%;
        padding-left: 50%;
        text-align: left;
    }
    .info-table.price-table tbody td[data-label] {
        padding-top: 3rem;
    }
    .info-table.price-table tbody td[data-label]:after {
        content: attr(data-label);
        width: 100%;
        position: absolute;
        left: 0;
        top: 0;
        font-weight: bold;
        text-align: center;
        font-size: 1rem;
        border-top: 1px solid rgba(77, 64, 18, .1);
        padding-top: 1rem;
    }
    .info-table.price-table tbody tr td:nth-of-type(odd):before,
    .info-table.price-table tbody tr td:nth-of-type(even):before {
        width: 90%;
        display: inline-block;
        margin-right: 1em;
        font-size: 1rem;
        float: left;
        margin-left: -100%;
        text-align: right;
    }
    .info-table.price-table tbody tr td:nth-of-type(odd):before {
        content: '平日';
    }
    .info-table.price-table tbody tr td:nth-of-type(even):before {
        content: '土日祝';
    }
    .info-table.price-table tbody tr td:nth-of-type(even) {
        padding-bottom: 1rem;
    }
    .info-table.price-table tbody tr td.u3:nth-of-type(odd):before,
    .info-table.price-table tbody tr td.u3:nth-of-type(even):before {
        content: '全日';
    }
    .info-table.price-table tbody tr td.u3.nosp {
        display: none;
    }
}

.list-access {
    text-align: left;
    margin-bottom: 2rem;
}

.list-access dt {
    font-weight: bold;
    margin-bottom: 1em;
}

.list-access dd {
    font-size: .9rem;
    padding: 1em 0 1em 3em;
    border-top: 1px solid;
    border-bottom: 1px solid;
    position: relative;
}

.list-access dd:before {
    content: '';
    width: 3rem;
    height: 2rem;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: 2rem auto;
    background-position: left center;
    margin-left: -3rem;
    vertical-align: middle;
}

.list-access dd.car:before {
    background-image: url(../information/img/icon-car.svg);
}

.list-access dd.bus:before {
    background-image: url(../information/img/icon-bus.svg);
}

.list-access dd+dt {
    margin-top: 2em;
}

.conts-contact-info {
    margin-top: 100px;
    padding: 100px 5%;
    background: rgba(77, 64, 18, .1);
}

.conts-contact-info .tel {
    margin: 50px auto 2rem;
    font-weight: bold;
}

.conts-contact-info .tel dd {
    font-size: 1.2rem;
}

@media screen and (max-width: 1000px) {
    .conts-contact-info {
        margin-top: 10vw;
        padding: 10vw 5%;
    }
    .conts-contact-info p {
        text-align: left;
    }
}

.lounge-detail {
    margin-top: -20px;
    z-index: 10;
    position: relative;
}

.lounge-detail img {
    margin-bottom: 0.5rem;
}

.btn-view {
    font-size: 1rem;
    font-weight: bold;
    padding: .8rem 5rem;
    margin: 2rem auto;
    position: relative;
    border-radius: 2rem;
}

.btn-view-s {
    width: 4rem;
    height: 4rem;
    display: block;
    border-radius: 2rem;
    padding: 5px;
}

.btn-view-s svg {
    fill: #FFF;
}

.btn-view-s:hover svg {
    fill: #8BB220;
}

.conts-img .btn-view-s {
    margin: -2rem auto 0;
    z-index: 2;
    position: relative;
}

.map-caption {
    border: #8BB220 2px solid;
    color: #8BB220;
    font-weight: bold;
    font-size: 0.85rem;
    background: #fff;
    box-sizing: border-box;
    padding: 0.3em 1em;
    border-radius: 2em;
    position: relative;
    z-index: 10;
    line-height: 1.2em;
}

.lounge-icons {
    margin-top: 2rem;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.lounge-icons p {
    font-size: .9rem;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 150%;
    margin-top: .5em;
}

@media screen and (max-width: 1000px) {
    .btn-view-s {
        width: 3rem;
        height: 3rem;
    }
    .lounge-icons {
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }
    .lounge-detail {
        margin-top: 2rem;
    }
}

@media screen and (max-width: 600px) {
    .lounge-icons>li {
        width: 48%;
        margin-bottom: 1rem;
    }
    .lounge-icons figure {
        width: 35%;
        display: inline-block;
        vertical-align: middle;
    }
    .lounge-icons p {
        width: 60%;
        margin-left: 5%;
        display: inline-block;
        vertical-align: middle;
        text-align: left;
    }
    .lounge-detail>li:last-child {
        margin-left: 0;
    }
}

.icon-house {
    position: relative;
}

.icon-house .icon {
    position: absolute;
    top: 25%;
    left: 0;
    right: 0;
    margin: auto;
    width: 60%;
    height: 60%;
    display: block;
}

.icon-house p {
    font-size: .9rem;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 150%;
    margin-top: .5em;
}


/*toriserifu*/

.subpage .t-fui {
    width: 1em;
    padding: 0;
    line-height: 0.8em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 0.9rem;
    letter-spacing: 0.05em;
    white-space: nowrap;
    padding-bottom: 10px;
}

.subpage .t-fui::after,
.subpage .t-fui::before {
    content: '';
    width: 3px;
    height: 100%;
    display: block;
    position: absolute;
}

.subpage .t-fui::after {
    background: url(../img/white-line_w.png) no-repeat right center;
    -ms-transform-origin: right center;
    -webkit-transform-origin: right center;
    transform-origin: right center;
    background-size: 3px;
    -ms-transform: rotate(8deg);
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg);
    right: -1.5em;
    top: 10px;
}

.subpage .t-fui::before {
    background: url(../img/white-line_w.png) no-repeat right center;
    -ms-transform-origin: right center;
    -webkit-transform-origin: right center;
    transform-origin: right center;
    background-size: 3px;
    -ms-transform: rotate(-8deg);
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg);
    left: -1.2em;
    top: 10px;
}

@media screen and (max-width: 600px) {
    .subpage .t-fui {
        font-size: 3vw;
    }
}


/*spa*/

#spa .lower-mainvisual {}

#spa .lower-mainvisual .animeArea {}

#spa .lower-mainvisual .animeArea .tori-f {
    width: 200px;
    height: 170px;
    display: block;
    position: absolute;
    right: 295px;
    bottom: 44px;
}

#spa .lower-mainvisual .animeArea .tori-m {
    width: 200px;
    height: 170px;
    display: block;
    position: absolute;
    right: 90px;
    bottom: 16px;
}

#spa .lower-mainvisual .animeArea .tori-f dt,
#spa .lower-mainvisual .animeArea .tori-m dt {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    overflow: hidden;
}

#spa .lower-mainvisual .animeArea .tori-f dt:before,
#spa .lower-mainvisual .animeArea .tori-m dt:before {
    content: '';
    width: 100%;
    height: 0;
    padding-bottom: 1020%;
    display: block;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    animation: birdAnime 3s steps(12) infinite;
}

#spa .lower-mainvisual .animeArea .tori-f dt:before {
    background-image: url(../img/animation/f_onsen.png);
}

#spa .lower-mainvisual .animeArea .tori-m dt:before {
    background-image: url(../img/animation/m_onsen.png);
}

#spa .lower-mainvisual .animeArea .onsen-cloud {
    width: 500px;
    height: 100px;
    display: block;
    position: absolute;
    right: 20px;
    bottom: 80px;
    overflow: hidden;
}

#spa .lower-mainvisual .animeArea .onsen-cloud:before {
    content: '';
    width: 100%;
    height: 0;
    display: block;
    padding-bottom: 60%;
    background: url(../img/animation/onsen_kemuri.png) no-repeat 0 0;
    background-size: 100% auto;
    animation: birdAnime 1s steps(3) infinite;
}

#spa .tori-f .t-fui {
    position: absolute;
    left: 140px;
    bottom: 93%;
    transform: rotate(10deg);
}

#spa .tori-m .t-fui {
    position: absolute;
    /* right: 30px; */
    right: 40%;
    bottom: 100%;
    transform: rotate(20deg);
}

#spa .conts-img img {
    width: 100%;
    height: auto;
}

#spa .yomogi-column {
    background: #eaf4f4;
    padding: 50px 50px;
    width: 1000px;
    margin: 0 auto;
}

#spa .yomogi-column .conts-txt {
    padding-top: 0;
    margin: 0;
    width: 49%;
}

#spa .yomogi-description {
    width: 1000px;
    display: block;
    text-align: left;
    margin: 0 auto;
    padding: 25px;
    margin-top: 25px;
    border-top: 1px solid #4d4012;
    border-bottom: 1px solid #4d4012;
}

#spa #yomogi .caption {
    width: 100%;
    text-align: left;
    font-size: 0.85rem;
    line-height: 1.5rem;
    margin-top: 20px;
    display: block;
    padding-left: 1.5em;
    position: relative;
}

#spa #yomogi .caption::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
}

#spa #yomogi .btnWrap {
    width: 100%;
    display: block;
    margin: 20px 0 0 0;
}

@media screen and (max-width: 1000px) {
    #spa .yomogi-column {
        padding: 5% 5% 10% 5%;
        width: auto;
        margin: 0 auto;
    }
    #spa .yomogi-column .conts-txt {
        padding-top: 0;
        width: 100%;
    }
    #spa .yomogi-column .title-std {
        margin-bottom: 0.5em;
    }
    #spa #yomogi .caption {
        margin-top: 0.5em;
    }
    #spa .lower-mainvisual .animeArea .tori-f {
        width: 25%;
        height: auto;
        padding-bottom: 21.25%;
        right: 32%;
        bottom: 20px;
    }
    #spa .lower-mainvisual .animeArea .tori-m {
        width: 25%;
        height: auto;
        padding-bottom: 21.25%;
        right: 8%;
        bottom: 10px;
    }
    #spa .lower-mainvisual .animeArea .onsen-cloud {
        width: 60%;
        height: 0;
        padding-bottom: 12%;
        position: absolute;
        right: 2%;
        bottom: 20px;
    }
    #spa .yomogi-description {
        width: auto;
        margin-top: 5%;
        padding: 5% 0;
    }
    #spa #yomogi .title-std-s {
        margin-bottom: 0.5em;
    }
    #spa .tori-m .t-fui {
        /* position: absolute;
        right: 144%;
        bottom: 110%;
		transform: rotate(-10deg); */
        bottom: 110%;
        transform: rotate( -10deg);
        position: absolute;
        right: 60%;
    }
    #spa .tori-f .t-fui {
        position: absolute;
        left: 40%;
        bottom: 93%;
        transform: rotate( -13deg);
    }
}

@media screen and (max-width: 600px) {
    #spa #yomogi .btnWrap {
        width: 100%;
        display: block;
        margin: 5% 0;
    }
}

#spa .floormap {
    position: relative;
}

#spa .floormap .illust1 {
    width: 320px;
    height: auto;
    position: absolute;
    right: -100px;
    bottom: 100px;
}

#spa .floormap .camera1 {
    position: absolute;
    top: 40%;
    left: 19%;
    z-index: 2;
}

#spa .floormap .camera2 {
    position: absolute;
    top: 8.5%;
    left: 56%;
    z-index: 2;
}

#spa .floormap .camera3 {
    position: absolute;
    top: 20%;
    left: 76%;
    z-index: 2;
}

#spa .floormap .mappins .mappin {
    position: absolute;
    margin: auto;
    -ms-Utransform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

#spa .floormap .mappins .btn-round {
    font-size: .9rem;
    padding: .5em 1em;
    white-space: nowrap;
}

#spa .floormap .mappins .btn-round:hover {
    background: #FFF;
}

#spa .floormap .mappins .mappin:before {
    content: '';
    width: 16px;
    display: block;
    background: url(../spring/img/floor_arr.png) no-repeat bottom center;
    position: absolute;
    top: 0;
    left: 50%;
    margin: auto;
    -ms-transform-origin: top center;
    -webkit-transform-origin: top center;
    transform-origin: top center;
    background-size: 100% auto;
    z-index: -1;
}

#spa .floormap .mappins .pin_water1 {
    top: 45%;
    left: 5%;
}

#spa .floormap .mappins .pin_water1:before {
    height: 100px;
    -ms-transform: rotate(-65deg);
    -webkit-transform: rotate(-65deg);
    transform: rotate(-65deg);
}

#spa .floormap .mappins .pin_water2 {
    top: 63%;
    left: 60%;
}

#spa .floormap .mappins .pin_water2:before {
    height: 140px;
    -ms-transform: rotate(130deg);
    -webkit-transform: rotate(130deg);
    transform: rotate(130deg);
}

#spa .floormap .mappins .pin_steam1 {
    top: 60%;
    left: 5%;
}

#spa .floormap .mappins .pin_steam1:before {
    height: 90px;
    -ms-transform: rotate(-110eg);
    -webkit-transform: rotate(-110deg);
    transform: rotate(-110deg);
    margin-top: 1em;
}

#spa .floormap .mappins .pin_steam2 {
    top: 80%;
    left: 60%;
}

#spa .floormap .mappins .pin_steam2:before {
    height: 210px;
    -ms-transform: rotate(147eg);
    -webkit-transform: rotate(147deg);
    transform: rotate(147deg);
    margin-top: 1em;
}

#spa .floormap .mappins .pin_breastfeed1 {
    top: 90%;
    left: 15%;
}

#spa .floormap .mappins .pin_breastfeed1:before {
    height: 96px;
    -ms-transform: rotate(-116deg);
    -webkit-transform: rotate(-116deg);
    transform: rotate(-116deg);
}

#spa .floormap .mappins .pin_breastfeed2 {
    top: 90%;
    left: 50%;
}

#spa .floormap .mappins .pin_breastfeed2:before {
    height: 145px;
    -ms-transform: rotate(168eg);
    -webkit-transform: rotate(168deg);
    transform: rotate(179deg);
}

#spa .floormap .mappins .pin_indoor {
    top: 45%;
    left: 42%;
}

#spa .floormap .mappins .pin_dressing {
    top: 70%;
    left: 18%;
}

#spa .floormap .mappins .pin_observation {
    top: 30%;
    left: 90%;
}

#spa .floormap .mappins .pin_openair {
    top: 28%;
    left: 65%;
}

#spa .floormap .icon-house {
    width: 4em;
    height: 4em;
    margin: -4em auto -5px;
}

#spa .floormap .icon-house .icon {
    width: 2rem;
    height: 2rem;
}

@media screen and (max-width: 1000px) {
    #spa .floormap .mappins>li .map-caption {
        font-size: .9rem;
    }
    #spa .floormap .mappins.icons {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        marign: auto;
        padding-top: 100vw;
    }
    #spa .floormap .mappins.icons {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        counter-reset: listnum;
    }
    #spa .floormap .icon-house {
        width: 3em;
        height: 3em;
        margin: -3rem auto -5px;
    }
    #spa .floormap .icon-house .icon {
        width: 1.5rem;
        height: 1.5rem;
    }
    #spa .floormap .camera1 {
        position: absolute;
        top: 55%;
        left: 45%;
    }
    #spa .floormap .camera2 {
        position: absolute;
        top: 25%;
        left: 25%;
    }
    #spa .floormap .camera3 {
        position: absolute;
        top: 4vw;
        left: 30%;
    }
    #spa .floormap .mappins .pin_water1 {
        top: 70vw;
        left: 25vw;
    }
    #spa .floormap .mappins .pin_water1:before {
        height: 29vw;
        -ms-transform: rotate(-52deg);
        -webkit-transform: rotate(-52deg);
        transform: rotate(-52deg);
    }
    #spa .floormap .mappins .pin_water2 {
        top: 25vw;
        left: 60vw;
    }
    #spa .floormap .mappins .pin_water2:before {
        height: 25vw;
        -ms-transform: rotate(27deg);
        -webkit-transform: rotate(27deg);
        transform: rotate(27deg);
    }
    #spa .floormap .mappins .pin_steam1 {
        top: 85vw;
        left: 30vw;
    }
    #spa .floormap .mappins .pin_steam1:before {
        height: 24vw;
        -ms-transform: rotate(-86deg);
        -webkit-transform: rotate(-86deg);
        transform: rotate(-86deg);
    }
    #spa .floormap .mappins .pin_steam2 {
        top: 30vw;
        left: 70vw;
    }
    #spa .floormap .mappins .pin_steam2:before {
        height: 24vw;
        -ms-transform: rotate(47eg);
        -webkit-transform: rotate(47deg);
        transform: rotate(47deg);
        margin-top: 1em;
    }
    #spa .floormap .mappins .pin_breastfeed1 {
        top: 90vw;
        left: 80vw;
    }
    #spa .floormap .mappins .pin_breastfeed1:before {
        height: 14vw;
        -ms-transform: rotate(165deg);
        -webkit-transform: rotate(165deg);
        transform: rotate(165deg);
    }
    #spa .floormap .mappins .pin_breastfeed2 {
        top: 36vw;
        left: 80vw;
    }
    #spa .floormap .mappins .pin_breastfeed2:before {
        height: 19vw;
        -ms-transform: rotate(56deg);
        -webkit-transform: rotate(56deg);
        transform: rotate(56deg);
    }
    #spa .floormap .mappins .pin_indoor {
        top: 65vw;
        left: 50vw;
    }
    #spa .floormap .mappins .pin_dressing {
        top: 64vw;
        left: 80vw;
    }
    #spa .floormap .mappins .pin_observation {
        top: 5vw;
        left: 50vw;
    }
    #spa .floormap .mappins .pin_openair {
        top: 30vw;
        left: 38vw;
    }
}

@media screen and (max-width: 600px) {
    #spa .floormap .mappins>li .btn-round {
        font-size: .8rem;
    }
    #spa .floormap .mappins.icons>li .map-caption {
        background: none;
        border: none;
        padding: 0;
        margin-top: 1rem;
        line-height: 140%;
    }
    #spa .floormap {
        margin-bottom: 20rem;
    }
    #spa .floormap .mappins.icons>li {
        counter-increment: listnum;
        width: 25%;
        display: inline-block;
        margin-bottom: 1rem;
    }
    #spa .floormap .mappins.icons .mappin {
        position: relative;
        top: auto;
        left: auto;
    }
    #spa .floormap .mappins.icons>li:before {
        content: counter(listnum);
        width: 1.5rem;
        height: 1.5rem;
        text-align: center;
        line-height: 1.65rem;
        border-radius: 1rem;
        background: #4D4012;
        color: #FFF;
        font-size: 0.8rem;
        display: block;
        position: absolute;
        margin: auto;
    }
    #spa .floormap .mappins.icons>li .map-caption:before {
        content: counter(listnum)'.';
    }
    #spa .floormap .mappins .mappin:before {
        display: none;
    }
    #spa .floormap .icon-house {
        margin-top: 0;
    }
    #spa .floormap .mappins.icons>li:first-child:before {
        top: 84vw;
        left: 46vw;
    }
    #spa .floormap .mappins.icons>li:nth-child(2):before {
        top: 84vw;
        left: 52vw;
    }
    #spa .floormap .mappins.icons>li:nth-child(3):before {
        top: 73vw;
        left: 73vw;
    }
    #spa .floormap .mappins.icons>li:nth-child(4):before {
        top: 43vw;
        left: 46vw;
    }
    #spa .floormap .mappins.icons>li:nth-child(5):before {
        top: 43vw;
        left: 52vw;
    }
    #spa .floormap .mappins.icons>li:nth-child(6):before {
        top: 45vw;
        left: 65vw;
    }
    #spa .floormap .mappins.icons>li:nth-child(7):before {
        top: 30vw;
        left: 38vw;
    }
    #spa .floormap .mappins.icons>li:nth-child(8):before {
        top: 7vw;
        left: 42vw;
    }
}

@keyframes spaAnime {
    to {
        background-position: 0 -2040px;
    }
}

@keyframes spaAnime2 {
    to {
        background-position: 0 -300px;
    }
}

.sauna-column .illust1 {
    position: absolute;
    right: -140px;
    bottom: -50px;
}

.roten-column .illust1 {
    position: absolute;
    width: 250px;
    left: -50%;
    bottom: 100%;
}

.roten-column .illust2 {
    position: absolute;
    width: 380px;
    right: 0px;
    bottom: -50px;
}

.tenbou-column .illust1 {
    position: absolute;
    width: 580px;
    right: -100px;
    bottom: 0px;
}

@media screen and (max-width: 1500px) {
    .sauna-column .illust1 {
        position: relative;
        right: auto;
        bottom: auto;
        width: 70%;
        height: auto;
        bottom: auto;
        margin: 2rem -10% 0 auto;
        display: block;
    }
    .roten-column .illust1 {
        width: 40%;
        height: auto;
        left: auto;
        right: -10%;
    }
    .roten-column .illust2 {
        position: relative;
        width: 70%;
        height: auto;
        bottom: auto;
        margin: 2rem -10% 0 auto;
        display: block;
    }
    .tenbou-column .illust1 {
        position: relative;
        width: 80%;
        height: auto;
        right: auto;
        margin: 2rem auto 0;
        display: block;
    }
}

@media screen and (max-width: 600px) {
    .sauna-column .illust1 {
        margin-right: 0;
        width: 35%;
        margin-top: 0;
    }
    .roten-column .illust1 {
        width: 20%;
        right: 0;
    }
    .roten-column .illust2 {
        width: 35%;
        margin-right: 0;
        margin-top: 0;
    }
    .tenbou-column .illust1 {
        width: 40%;
    }
}


/*meal*/

#meal .lower-mainvisual {
    overflow: visible;
}

#meal .lower-mainvisual h2 svg {
    width: 492px;
    height: 192px;
}

#meal .lower-mainvisual .animeArea {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#meal .title-std-s {
    margin-bottom: 0.5em;
}

#meal .lower-mainvisual .animeArea .tori-f {
    width: 210px;
    height: 180px;
    position: absolute;
    right: 290px;
    bottom: -60px;
}

#meal .lower-mainvisual .animeArea .tori-m {
    width: 210px;
    height: 180px;
    position: absolute;
    right: 80px;
    bottom: 10px;
}

#meal .lower-mainvisual .animeArea .tori-f dt,
#meal .lower-mainvisual .animeArea .tori-m dt {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    overflow: hidden;
}

#meal .lower-mainvisual .animeArea .tori-f dt:before,
#meal .lower-mainvisual .animeArea .tori-m dt:before {
    content: '';
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-bottom: 1457.14%;
    text-indent: 100%;
    white-space: nowrap;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 0 0;
    animation: birdAnime 3s steps(17) infinite;
}

#meal .lower-mainvisual .animeArea .tori-f dt:before {
    background-image: url(../img/animation/f_eat.png);
}

#meal .lower-mainvisual .animeArea .tori-m dt:before {
    background-image: url(../img/animation/m_eat.png);
}

#meal .tori-f .t-fui {
    position: absolute;
    left: 30%;
    bottom: 100%;
    transform: rotate(-28deg);
}

#meal .tori-m .t-fui {
    position: absolute;
    right: 50%;
    bottom: 100%;
    transform: rotate(20deg);
}

@media screen and (max-width: 1000px) {
    #meal .lower-mainvisual .animeArea .tori-f,
    #meal .lower-mainvisual .animeArea .tori-m {
        width: 30%;
        height: 0;
        padding-bottom: 24.5%;
    }
    #meal .lower-mainvisual .animeArea .tori-f {
        right: 40%;
        bottom: -30px;
    }
    #meal .lower-mainvisual .animeArea .tori-m {
        right: 5%;
    }
}

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

#meal .floormap {
    padding-top: 70px;
    position: relative;
    margin-bottom: 2rem;
}

#meal .floormap img {
    width: 100%;
    height: auto;
}

#meal .floormap ul li {
    position: absolute;
    height: 170px;
    background: url(../meal/img/floor_arr.png) no-repeat center bottom;
    background-size: 16px;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

#meal .floormap ul li.floorbtn1 {
    top: 0;
    left: 6%;
}

#meal .floormap ul li.floorbtn2 {
    top: 0;
    left: 19%;
}

#meal .floormap ul li.floorbtn3 {
    top: 0;
    left: 30.5%;
}

#meal .floormap ul li.floorbtn4 {
    top: 0;
    left: 42%;
}

#meal .floormap ul li.floorbtn5 {
    top: 0;
    left: 90%;
    width: 190px;
}

#meal .floormap ul li a.btn-round.brown {
    padding: .5em 1em;
    text-align: center;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

#meal .floormap ul li a.btn-round.brown:hover {
    background: #FFFFFF;
}

#meal .title-std {
    position: relative;
}

#meal .title-std .illust1 {
    width: 100px;
    height: auto;
    position: absolute;
    left: -40px;
    top: -70px;
}

#meal .title-std .illust2 {
    width: 100px;
    height: auto;
    position: absolute;
    right: -40px;
    top: -70px;
}

#meal .foodstuff-column .illust1 {
    width: 130px;
    height: 130px;
    position: absolute;
    left: -135px;
    top: -90px;
}

#meal .foodstuff-column .illust2 {
    width: 110px;
    height: 90px;
    position: absolute;
    right: -120px;
    bottom: -40px;
}

#meal .restaurant-column .illust1 {
    width: 170px;
    height: 80px;
    position: absolute;
    right: -135px;
    top: -44px;
}

#meal .restaurant-column .illust2 {
    width: 160px;
    height: 100px;
    position: absolute;
    left: -170px;
    top: 130px;
}

#meal .restaurant-column .illust3 {
    width: 200px;
    height: 150px;
    position: absolute;
    right: 0;
    bottom: -30px;
}

#meal .caffe-column .illust1 {
    width: 150px;
    height: 100px;
    position: absolute;
    left: -135px;
    top: -64px;
}

#meal .caffe-column .illust2 {
    width: 100px;
    height: 75px;
    position: absolute;
    right: -110px;
    bottom: 0px;
}


/*
@media screen and (max-width: 1000px) {
	#meal .floormap ul li { height: 20vw;  max-height: 170px; }
}
@media screen and (max-width: 600px) {
	#meal .floormap ul li { font-size: .8rem; }
	#meal .floormap ul li:nth-child(even) { margin-top: -10vw; height: 30vw; }
	
}
*/

@media screen and (max-width: 1500px) {
    #meal .title-std .illust1 {
        width: 10%;
        left: 0;
        top: auto;
        bottom: 0;
    }
    #meal .title-std .illust2 {
        width: 10%;
        right: 0;
        top: auto;
        bottom: 0;
    }
    #meal .foodstuff-column .illust1 {
        width: 25%;
        height: auto;
        position: absolute;
        left: -25%;
        top: 0;
        margin-top: -2rem;
        display: inline-block;
    }
    #meal .foodstuff-column .illust2 {
        width: 20%;
        height: auto;
        position: relative;
        display: block;
        margin: 0 0 0 auto;
        right: 0;
        bottom: auto;
    }
    #meal .restaurant-column .illust2 {
        width: 40%;
        height: auto;
        position: relative;
        left: -10%;
        top: auto;
    }
    #meal .restaurant-column .illust3 {
        width: 40%;
        height: auto;
        position: absolute;
        right: 0;
        bottom: -20px;
    }
    #meal .caffe-column .illust1 {
        width: 150px;
        height: auto;
        position: absolute;
        left: -135px;
        top: -64px;
    }
    #meal .caffe-column .illust2 {
        position: relative;
        margin: 0 0 0 auto;
        display: block;
        right: auto;
        bottom: auto;
    }
}

@media screen and (max-width: 1000px) {
    #meal .floormap ul li {
        height: 17vw;
        min-height: 100px;
    }
    #meal .floormap ul li:nth-child(2) {
        margin-top: -35px;
        min-height: 148px;
    }
    #meal .floormap ul li:nth-child(4) {
        margin-top: -35px;
        min-height: 148px;
    }
    #meal .floormap ul li a.btn-round.brown {
        font-size: .8rem;
    }
    #meal .foodstuff-column .illust1 {
        bottom: 100%;
        top: auto;
        left: auto;
        right: 0;
    }
    #meal .restaurant-column .illust1 {
        width: 30%;
        height: auto;
        position: relative;
        right: -10%;
        top: auto;
    }
    #meal .restaurant-column .illust1 {
        right: 0;
    }
    #meal .restaurant-column .illust2 {
        left: 0;
        margin-left: 27%;
    }
    #meal .caffe-column .illust1 {
        width: 20%;
        left: -5%;
        top: -20%;
    }
}

@media screen and (max-width: 600px) {
    #meal .floormap {
        margin-top: 100px
    }
}


/*lounge*/

#lounge .lower-mainvisual {
    overflow: visible;
}

#lounge .lower-mainvisual .animeArea .tori-f {
    width: 220px;
    height: 180px;
    position: absolute;
    right: 310px;
    bottom: -46px;
}

#lounge .lower-mainvisual .animeArea .tori-m {
    width: 220px;
    height: 180px;
    position: absolute;
    right: 80px;
    bottom: -84px;
}

#lounge .lower-mainvisual .animeArea .tori-f dt,
#lounge .lower-mainvisual .animeArea .tori-m dt {
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: atuo;
}

#lounge .lower-mainvisual .animeArea .tori-f dt:before {
    content: '';
    width: 100%;
    height: 0;
    padding-bottom: 1227.3%;
    display: block;
    background: url(../img/animation/f_dara.png) no-repeat 0 0;
    background-size: 100%;
    animation: loungeAnime 8s steps(15) infinite;
}

#lounge .lower-mainvisual .animeArea .tori-m dt:before {
    content: '';
    width: 100%;
    height: 0;
    padding-bottom: 1227.3%;
    display: block;
    background: url(../img/animation/m_dara.png) no-repeat 0 0;
    background-size: 100%;
    animation: loungeAnime 8s steps(15) infinite;
}

#lounge .lower-mainvisual .animeArea .tori-book {
    width: 110px;
    height: 0;
    padding-bottom: 60px;
    display: block;
    position: absolute;
    right: 340px;
    bottom: -66px;
    background: url(../img/animation/lounge_mainbook.png) no-repeat;
    z-index: 10;
    background-size: 100% auto;
}

#lounge .tori-f .t-fui {
    position: absolute;
    left: 30%;
    bottom: 60%;
    transform: rotate(-28deg);
}

#lounge .tori-m .t-fui {
    position: absolute;
    right: 40%;
    bottom: 60%;
    transform: rotate(20deg);
}

#lounge .floormap {
    position: relative;
}

#lounge .floormap .camera1 {
    position: absolute;
    left: 58%;
    top: 52%;
}

#lounge .floormap .camera2 {
    position: absolute;
    left: 28%;
    top: 20%;
}

#lounge .floormap .camera3 {
    position: absolute;
    left: 26%;
    top: 54%;
}

#lounge .floormap .camera4 {
    position: absolute;
    right: 12%;
    top: 15%;
}

#lounge .floormap .camera5 {
    position: absolute;
    left: 4%;
    top: 38%;
}

#lounge .floormap .camera6 {
    position: absolute;
    left: 73%;
    top: 60%;
}

#lounge .floormap .camera7 {
    position: absolute;
    left: 36%;
    top: 65%;
}

#lounge .floormap .camera5 {
    position: absolute;
    left: 4%;
    top: 38%;
}

#lounge .floormap ul li {
    position: absolute;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    margin: auto;
    white-space: nowrap;
}

#lounge .floormap ul li:nth-child(1) {
    left: 83%;
    top: 150px;
}

#lounge .floormap ul li:nth-child(2) {
    left: 48%;
    bottom: 0;
}

#lounge .floormap ul li:nth-child(3) {
    left: 32%;
    top: 0;
}

#lounge .floormap ul li:nth-child(4) {
    left: 25%;
    bottom: 90px;
}

#lounge .floormap a.btn-round.brown {
    padding: .6em 1.5em;
    font-size: 0.8rem;
}

#lounge .floormap a.btn-round.brown:hover {
    background: #FFF;
}

@media screen and (max-width: 1000px) {
    #lounge .lower-mainvisual .animeArea .tori-f,
    #lounge .lower-mainvisual .animeArea .tori-m {
        width: 33%;
        height: 0;
        padding-bottom: 27%;
    }
    #lounge .lower-mainvisual .animeArea .tori-f {
        right: 40%;
        bottom: -20px;
    }
    #lounge .lower-mainvisual .animeArea .tori-m {
        right: 5%;
        bottom: -40px;
    }
    #lounge .lower-mainvisual .animeArea .tori-book {
        width: 22%;
        height: 0;
        padding-bottom: 12%;
        right: 50%;
        bottom: -25px;
    }
    #lounge .floormap .camera1 {
        left: 45%;
        top: 52%;
    }
    #lounge .floormap .camera2 {
        left: 65%;
        top: 26%;
    }
    #lounge .floormap .camera3 {
        left: 35%;
        top: 25%;
    }
    #lounge .floormap .camera4 {
        right: 34%;
        top: 75%;
    }
    #lounge .floormap .camera5 {
        left: 50%;
        top: 6%;
    }
    #lounge .floormap .camera6 {
        left: 35%;
        top: 75%;
    }
    #lounge .floormap .camera7 {
        left: 34%;
        top: 42%;
    }
    #lounge .floormap ul li {
        font-size: .8rem;
    }
    #lounge .floormap ul li:nth-child(1) {
        left: 50%;
        top: 89%;
    }
    #lounge .floormap ul li:nth-child(2) {
        left: 20%;
        top: 63%;
        bottom: auto;
    }
    #lounge .floormap ul li:nth-child(3) {
        left: 70%;
        top: 36%;
    }
    #lounge .floormap ul li:nth-child(4) {
        left: 41%;
        top: 18%;
        bottom: auto;
    }
}

@keyframes loungeAnime {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-100%);
    }
}

@keyframes birdAnime {
    0% {
        -ms-transform: translateY(0);
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
    100% {
        -ms-transform: translateY(-100%);
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
}

#lounge .title-std-s {
    position: relative;
}

#lounge .title-std-s .illust1 {
    width: 130px;
    height: auto;
    position: absolute;
    left: 0;
    top: -49px;
}

#lounge .title-std-s .illust2 {
    width: 100px;
    height: auto;
    position: absolute;
    right: 0;
    top: -70px;
}

#lounge .relaxArea .lounge-detail::before {
    content: "";
    width: 18%;
    height: 0;
    padding-bottom: 14%;
    display: block;
    background: url(../img/animation/hammock.gif) no-repeat;
    background-size: 100% auto;
    position: absolute;
    right: 0;
    bottom: 100%;
    margin: auto auto -20px;
}

#lounge .conts-img {
    height: 600px;
    overflow: hidden;
    overflow: hidden;
}

#lounge #relaxArea .conts-img {
    background: url(../lounge/img/lounge1.jpg) no-repeat center;
    background-size: cover;
    border-radius: 0 100px 100px 0;
}

#lounge #comicArea .conts-img {
    background: url(../lounge/img/lounge2.jpg) no-repeat center;
    background-size: cover;
    border-radius: 100px 0 0 100px;
}

#lounge #nostalgicArea .conts-img {
    background: url(../lounge/img/lounge3.jpg) no-repeat center;
    background-size: cover;
    border-radius: 0 100px 100px 0;
}

#lounge #coworkingArea .conts-img {
    background: url(../lounge/img/lounge4.jpg) no-repeat center;
    background-size: cover;
    border-radius: 0 100px 100px 0;
}

.comicArea .illust1 {
    width: 130px;
    height: auto;
    position: absolute;
    right: -130px;
    top: 20px;
}

.comicArea .illust2 {
    width: 215px;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 0px;
}

@media screen and (max-width: 1000px) {
    #lounge .conts-img {
        height: 80vw;
    }
    #lounge #relaxArea .conts-img {
        border-radius: 0 50px 50px 0;
    }
    #lounge #comicArea .conts-img {
        border-radius: 50px 0 0 50px;
    }
    #lounge #nostalgicArea .conts-img {
        border-radius: 0 50px 50px 0;
    }
    #lounge #coworkingArea .conts-img {
        border-radius: 50px 0 0 50px;
    }
    #lounge .relaxArea .lounge-detail::before {
        margin-bottom: -5px;
    }
    #lounge .title-std-s .illust1 {
        width: 25%;
        bottom: 100%;
        top: auto;
    }
    #lounge .title-std-s .illust2 {
        width: 20%;
        bottom: 110%;
        top: auto;
    }
    .comicArea .illust1 {
        width: 13%;
        right: auto;
        left: 0;
        top: -2rem;
    }
    .comicArea .illust2 {
        width: 21%;
        position: relative;
        right: 0;
        bottom: 0px;
    }
}


/*garden*/

#garden .lower-mainvisual {
    overflow: visible;
}

#garden .lower-mainvisual .animeArea .tori-f,
#garden .lower-mainvisual .animeArea .tori-m {
    width: 140px;
    height: 140px;
    display: block;
    position: absolute;
    z-index: 10;
}

#garden .lower-mainvisual .animeArea .tori-f dt,
#garden .lower-mainvisual .animeArea .tori-m dt {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    z-index: 10;
    overflow: hidden;
}

#garden .lower-mainvisual .animeArea .tori-f {
    right: 100px;
    bottom: 110px;
}

#garden .lower-mainvisual .animeArea .tori-m {
    position: absolute;
    right: 260px;
    bottom: 46px;
}

#garden .lower-mainvisual .animeArea .tori-f dt:before,
#garden .lower-mainvisual .animeArea .tori-m dt:before {
    content: '';
    width: 100%;
    height: 600%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-repeat: no-repeat;
    background-postion: 0 0;
    background-size: 100%;
    animation: birdAnime 0.5s steps(6) infinite;
    z-index: 10;
}

#garden .lower-mainvisual .animeArea .tori-f dt:before {
    background-image: url(../img/animation/f_fly.png);
    transform: scale(0.8);
}

#garden .lower-mainvisual .animeArea .tori-m dt:before {
    background-image: url(../img/animation/m_fly.png);
}

#garden .lower-mainvisual .animeArea .garden-cloud {
    width: 160px;
    height: 60px;
    display: block;
    position: absolute;
    right: 100px;
    bottom: 50px;
    background: url(../img/animation/kumo.png) no-repeat;
    z-index: 10;
    background-size: 100%;
    animation: gardenAnime2 0.5s steps(3) infinite;
}

#garden .tori-f .t-fui {
    position: absolute;
    left: 50%;
    bottom: 100%;
    transform: rotate(10deg);
}

#garden .tori-m .t-fui {
    position: absolute;
    left: 50%;
    bottom: 100%;
    transform: rotate(10deg);
}

@media screen and (max-width: 1000px) {
    #garden .lower-mainvisual .animeArea .tori-f,
    #garden .lower-mainvisual .animeArea .tori-m {
        width: 25%;
        height: 0;
        padding-bottom: 25%;
    }
    #garden .lower-mainvisual .animeArea .tori-f {
        right: 5%;
        bottom: 35px;
    }
    #garden .lower-mainvisual .animeArea .tori-m {
        right: 35%;
        bottom: 15px;
    }
    #garden .lower-mainvisual .animeArea .garden-cloud {
        -ms-transform: scale(.6);
        -webkit-transform: scale(.6);
        transform: scale(.6);
        -ms-transform-origin: right bottom;
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        right: 3%;
        bottom: 10px;
    }
    #garden .tori-f .t-fui {
        position: absolute;
        left: 50%;
        bottom: 106%;
        transform: rotate(10deg);
    }
}

@keyframes gardenAnime {
    to {
        background-position: 0 -700px;
    }
}

@keyframes gardenAnime2 {
    to {
        background-position: 0 -180px;
    }
}

#garden .title-std {
    position: relative;
}

#garden .title-std .illust1 {
    width: 140px;
    height: auto;
    position: absolute;
    left: -40px;
    top: -50px;
}

#garden .title-std .illust2 {
    width: 140px;
    height: auto;
    position: absolute;
    right: -40px;
    top: -50px;
}

#garden .lay-column3 {
    position: relative;
}

#garden .lay-column3::after {
    content: "";
    width: 370px;
    height: 160px;
    background: url(../img/animation/yama.gif) no-repeat;
    background-size: 370px;
    position: absolute;
    left: 50%;
    bottom: -130px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

#garden .lay-column3 li {
    position: relative;
}

#garden .lay-column3 li:nth-child(1)::before {
    content: "";
    width: 160px;
    height: 150px;
    background: url(../garden/img/garden3.png) no-repeat;
    background-size: 160px;
    top: 90px;
    left: -50px;
    position: absolute;
}

#garden .lay-column3 li:nth-child(3)::before {
    content: "";
    width: 160px;
    height: 150px;
    background: url(../garden/img/garden4.png) no-repeat;
    background-size: 160px;
    top: 80px;
    right: -50px;
    position: absolute;
}

@media screen and (max-width: 1000px) {
    #garden .title-std .illust1 {
        width: 20%;
        left: -10%;
        bottom: 0;
        top: auto;
    }
    #garden .title-std .illust2 {
        width: 20%;
        right: -10%;
        bottom: 0;
        top: auto;
    }
}

@media screen and (max-width: 600px) {
    #garden .title-std .illust1 {
        width: 35px;
        height: auto;
        position: absolute;
        left: 0px;
        bottom: 0px;
        top: inherit;
    }
    #garden .title-std .illust2 {
        width: 35px;
        height: auto;
        position: absolute;
        right: 0px;
        bottom: 0px;
        top: inherit;
    }
    #garden .lower-mainvisual h2 svg {
        height: 15vh;
    }
    #garden .lay-column3::after {
        content: "";
        width: 93px;
        height: 40px;
        background: url(../img/animation/yama.gif) no-repeat;
        background-size: 93px;
        position: absolute;
        left: 50%;
        bottom: -15px;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    #garden .lay-column3 li:nth-child(1)::before {
        display: none;
    }
    #garden .lay-column3 li:nth-child(2)::before {
        content: "";
        width: 40px;
        height: 38px;
        background: url(../garden/img/garden3.png) no-repeat;
        background-size: 40px;
        bottom: -15px;
        top: inherit;
        top: auto;
        left: -10px;
        position: absolute;
    }
    #garden .lay-column3 li:nth-child(3)::before {
        content: "";
        width: 40px;
        height: 38px;
        background: url(../garden/img/garden4.png) no-repeat;
        background-size: 40px;
        bottom: -15px;
        top: inherit;
        top: auto;
        right: -10px;
        position: absolute;
    }
}


/*spend*/

.title-spend-section {
    font-family: 'Asap', sans-serif;
    margin: 2rem auto 3rem;
}

.title-clock {
    font-size: 2rem;
    font-family: 'Asap', sans-serif;
    letter-spacing: 0;
    display: inline-block;
    margin-bottom: 50px;
}

.title-clock svg {
    width: 2em;
    height: 2em;
    display: block;
    margin: 0 auto .5em;
}

.title-clock span {
    font-size: .6em;
    vertical-align: middle;
    display: inline-block;
    margin-right: .5rem;
}

.copy-spend {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-align: left;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 300%;
    display: inline-block;
    margin: 12rem auto 100px;
}

.copy-spend .letter {
    display: inline-block;
}

.time-contents {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 200px;
    position: relative;
    opacity: 0;
}

.time-contents.inview {
    opacity: 1;
}

.time-contents:nth-of-type(odd) {
    -webkit-flex-direction: row;
    flex-direction: row;
}

.time-contents:nth-of-type(even) {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.time-contents:nth-of-type(odd) .conts-txt {
    padding-left: 10%;
}

.time-contents:nth-of-type(even) .conts-txt {
    padding-right: 10%;
}

.time-contents:nth-of-type(odd) .title-clock {
    position: absolute;
    top: 0;
    left: 10%;
    margin: auto;
}

.time-contents:nth-of-type(even) .title-clock {
    position: absolute;
    top: 0;
    right: 10%;
    margin: auto;
}

.time-contents.time1000 .conts-txt {
    width: 50%;
}

.time-contents.time1000 .conts-img {
    width: 50%;
}

.time-contents.time1000 .conts-img.openning1 {
    width: 20%;
    position: relative;
    margin-top: -30%;
    margin-left: 11%;
}

.time-contents.time1030 .conts-txt {
    width: 40%;
    margin-left: 20%;
}

.time-contents.time1030 .conts-img {
    width: 40%;
}

.time-contents.time1030 .conts-other {
    width: 100%;
    text-align: center;
}

.time-contents.time1030 .conts-other .spend-img {
    max-width: 40%;
}

.time-contents.time1200 .conts-txt {
    width: 40%;
}

.time-contents.time1200 .conts-txt .spend-img {
    max-width: 90%;
    width: 280px;
    margin: -50px auto 5rem -25%;
}

.time-contents.time1200 .conts-img {
    width: 60%;
}

.time-contents.time1200 .conts-other {
    width: 100%;
    text-align: center;
}

.time-contents.time1200 .conts-other .spend-img {
    max-width: 50%;
    margin-bottom: 50px;
}

.time-contents.time1300 .conts-txt {
    width: 40%;
}

.time-contents.time1300 .conts-txt .spend-img {
    max-width: 90%;
    margin: -50px -25% 5rem auto;
}

.time-contents.time1300 .conts-img {
    width: 60%;
}

.time-contents.time1300 .conts-img .img2 {
    max-width: 90%;
}

.time-contents.time1500 .conts-txt {
    width: 60%;
}

.time-contents.time1500 .conts-txt .img1 {
    max-width: 40%;
    margin: -200px auto 5rem -10%;
}

.time-contents.time1500 .conts-txt .img2 {}

.time-contents.time1500 .conts-img {
    width: 40%;
}

.time-contents.time1500 .octagon-sns {
    margin: -100px 5% 5rem auto;
}

.time-contents.time1500 .octagon-sns svg {
    width: 100%;
    height: 100%;
    max-width: 5rem;
    max-height: 2rem;
    display: block;
}

.time-contents.time1630 .conts-txt {
    width: 50%;
}

.time-contents.time1630 .conts-img {
    width: 50%;
}

.time-contents.time1630 .conts-txt .spend-img {
    width: 50%;
}

.time-contents.time1630 .copy-spend {
    margin-bottom: 200px;
}

.time-contents.time1730 .conts-txt {
    width: 40%;
}

.time-contents.time1730 .conts-txt .spend-img {
    max-width: 90%;
    margin: -50px auto 5rem -20%;
}

.time-contents.time1730 .conts-txt .spend-img .caption {
    width: 280px;
    text-align: left;
    margin-top: 0.5rem;
    font-size: 0.8rem;
}

.time-contents.time1730 .conts-img {
    width: 60%;
}

.time-contents.time1730 .conts-img .img2 {
    max-width: 90%;
    margin: 0 auto 5rem -10%;
}

.time-contents.time1900 .conts-txt {
    width: 20%;
    margin-left: 10%;
}

.time-contents.time1900 .conts-img {
    width: 70%;
}

.time-contents.time1900 .conts-other {
    width: 100%;
    text-align: center;
}

.time-contents.time1900 .conts-other .spend-img {
    margin: 0 auto;
    display: inline-block;
}

.time-contents .conts-txt {
    text-align: center;
}

.time-contents:last-of-type {
    margin-bottom: 50vh;
}

.time-contents:last-of-type .copy-spend {
    width: 1em;
    margin: 0 auto;
    line-height: 100%;
}

.time-contents.inviewContents .conts-txt {
    opacity: 0;
    -ms-transition: all .3s .3s;
    -webkit-transition: all .3s .3s;
    transition: all .3s .3s;
}

.time-contents.inviewContents .conts-img {
    opacity: 0;
    -ms-transition: all .3s .3s;
    -webkit-transition: all .3s .3s;
    transition: all .3s .3s;
}

.time-contents.inviewContents.inview .conts-txt {
    opacity: 1;
}

.time-contents.inviewContents.inview .conts-img {
    opacity: 1;
}

.spend-img {
    position: relative;
    margin: 0 auto 5rem;
}

.spend-img img {
    border-radius: 3rem;
    display: block;
}

.spend-img figcaption {
    color: #F1EFF1;
    background: #4D4012;
    display: inline-block;
    padding: 0 2em;
    line-height: 3em;
    border-radius: 1.5em;
    z-index: 2;
    position: relative;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.sidenavi {
    width: 100vh;
    font-family: 'Asap', sans-serif;
    font-size: .8rem;
    font-weight: bold;
    display: inline-block;
    line-height: 120%;
    position: absolute;
    top: 0;
    left: 3rem;
    margin: auto;
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -ms-transform-origin: left top;
    -webkit-transform-origin: left top;
    transform-origin: left top;
    white-space: nowrap;
    z-index: 1000;
}

.sidenavi>li {
    display: inline-block;
    vertical-align: middle;
    border-left: 2px solid;
    border-right: 2px solid;
}

.sidenavi>li+li {
    border-left: none;
}

.sidenavi a {
    padding: 0 1.5em;
    opacity: .5;
    -ms-transition: opacity .3s;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
}

.sidenavi a.here,
.sidenavi a:hover {
    opacity: 1;
}

.sidenavi.stick {
    position: fixed;
    top: 0;
}

#spend .conts-txt .conts-sns .btn-sns {
    width: 100%;
    height: 100%;
    position: relative;
    padding: 30%;
}

#spend .lower-mainvisual h2 svg {
    height: 114px;
    width: auto;
    display: inline-block;
}

@media screen and (max-width: 1500px) {
    .time-contents {
        margin-bottom: 5vw;
    }
    .copy-spend {
        font-size: 1.3rem;
    }
}

@media screen and (max-width: 1000px) {
    .title-clock {
        font-size: 1.2rem;
    }
    .copy-spend {
        font-size: 1.2rem;
        margin: 8rem auto 50px;
    }
    .spend-img {
        margin: 0 auto 2rem;
    }
    .spend-img figcaption {
        font-size: .8rem;
    }
    .time-contents:nth-of-type(odd) .title-clock,
    .time-contents:nth-of-type(even) .title-clock {
        left: 0;
        right: 0;
    }
    .time-contents:nth-of-type(odd) .conts-txt {
        padding-left: 0;
    }
    .time-contents:nth-of-type(even) .conts-txt {
        padding-right: 0;
    }
    .time-contents>* {
        width: 100%;
    }
    .time-contents.time1000 .conts-txt {
        width: 100%;
    }
    .time-contents.time1000 .conts-img {
        width: 100%;
    }
    .time-contents.time1000 .conts-img .spend-img {
        width: 80%;
        margin: 0 auto 2rem;
    }
    .time-contents.time1000 .conts-img.openning1 {
        width: 60%;
        position: relative;
        margin-top: 0%;
        margin-left: 11%;
    }
    .time-contents.time1030 .conts-txt {
        width: 100%;
        margin-left: 0;
        margin-bottom: 10%;
    }
    .time-contents.time1030 .conts-img {
        width: 100%;
    }
    .time-contents.time1030 .conts-img .spend-img {
        width: 60%;
        margin: 0 auto 2rem 0;
    }
    .time-contents.time1030 .conts-other .spend-img {
        width: 70%;
        max-width: 70%;
    }
    .time-contents.time1200 .conts-txt {
        width: 100%;
    }
    .time-contents.time1200 .conts-txt .spend-img {
        max-width: 50%;
        margin: 0 auto 2rem 0;
    }
    .time-contents.time1200 .conts-img {
        width: 100%;
    }
    .time-contents.time1200 .conts-img .spend-img {
        width: 80%;
    }
    .time-contents.time1200 .conts-other {
        width: 100%;
        text-align: center;
    }
    .time-contents.time1200 .conts-other .spend-img {
        max-width: 90%;
    }
    .time-contents.time1300 .conts-txt {
        width: 100%;
    }
    .time-contents.time1300 .conts-txt .spend-img {
        width: 80%;
        margin: 0 0 2rem auto;
    }
    .time-contents.time1300 .conts-img {
        width: 100%;
    }
    .time-contents.time1300 .conts-img .img2 {
        max-width: 90%;
    }
    .time-contents.time1500 .conts-txt {
        width: 100%;
    }
    .time-contents.time1500 .conts-txt .img1 {
        max-width: 50%;
        margin: 0 auto 2rem 0;
    }
    .time-contents.time1500 .conts-txt .img2 {
        max-width: 50%;
        margin: 0 0 2rem auto;
    }
    .time-contents.time1500 .conts-img {
        width: 100%;
    }
    .time-contents.time1500 .conts-img .spend-img {
        width: 80%;
    }
    .time-contents.time1500 .octagon-sns {
        margin: -100px auto 2rem 5%;
    }
    .time-contents.time1630 .conts-txt {
        width: 100%;
    }
    .time-contents.time1630 .conts-txt .spend-img {
        width: 60%;
        margin: 0 0 1rem auto;
    }
    .time-contents.time1630 .conts-img {
        width: 100%;
    }
    .time-contents.time1630 .conts-img .spend-img {
        width: 80%;
        margin: 0 auto 2rem 0;
    }
    .time-contents.time1630 .copy-spend {
        margin-bottom: 2rem;
    }
    .time-contents.time1730 .conts-txt {
        width: 100%;
    }
    .time-contents.time1730 .conts-txt .spend-img {
        max-width: 50%;
        margin: 0 auto 2rem 0;
    }
    .time-contents.time1730 .conts-img {
        width: 100%;
    }
    .time-contents.time1730 .conts-img .img2 {
        max-width: 80%;
        margin: 0 auto 5rem -2%;
    }
    .time-contents.time1900 .conts-txt {
        width: 100%;
        margin-left: 0%;
    }
    .time-contents.time1900 .conts-img {
        width: 100%;
    }
    .time-contents.time1900 .conts-img .spend-img {
        max-width: 80%;
        margin: 0 auto 2rem 0;
    }
    .time-contents.time1900 .conts-other .spend-img {
        max-width: 60%;
        margin: 0 0 2rem auto;
    }
    .sidenavi {
        display: none;
    }
    #spend .inviewContents.inviewStd {
        padding: 0;
    }
    #spend .octagon-sns:before,
    .octagon-sns:after {
        content: '';
        width: 100%;
        height: 100%;
        background-image: url(../img/tri-border-h.png), url(../img/tri-border-h.png), url(../img/tri-border-v.png), url(../img/tri-border-v.png);
        background-repeat: no-repeat;
        background-position: center top, center bottom, left center, right center;
        background-size: 60% auto, 60% auto, auto 60%, auto 60%;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        z-index: -1;
    }
}

@media screen and (max-width: 600px) {
    .title-clock {
        font-size: 1.2rem;
    }
    .copy-spend {
        font-size: 1.2rem;
        margin: 6rem auto 1rem;
    }
}

.btn-congrestion {
    width: 100%;
    height: 3rem;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: .5rem auto 0;
    background: #FFF;
    border-radius: 10px;
    line-height: 3rem;
    outline: none;
}

.btn-congrestion .link-arrow:before {
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.conts-congestion {
    width: 90%;
    max-width: 300px;
    background: #FFF;
    padding: 2rem;
    border-radius: 10px;
    border: 1px solid #CCC;
    margin: 0 auto;
    position: relative;
}

.conts-congestion {
    text-align: center;
}

.conts-congestion svg {
    fill: #DDD;
}

.conts-congestion .status {
    margin: 1rem 0;
}

.conts-congestion .status>li {
    width: 2rem;
    display: inline-block;
}

.conts-congestion h3 {
    font-weight: bold;
}

.conts-congestion .status-txt {
    font-weight: bold;
    font-size: .9rem;
    line-height: 150%;
}

.conts-congestion .admission {
    font-size: .8rem;
    font-weight: normal;
    text-align: left;
    margin-top: 1em;
    line-height: 150%;
}

.conts-congestion .status.level1>li:nth-child(-n + 1) svg {
    fill: #8BB220;
}

.conts-congestion .status.level2>li:nth-child(-n + 2) svg {
    fill: #5e9dda;
}

.conts-congestion .status.level3>li:nth-child(-n + 3) svg {
    fill: #EFB014;
}

.conts-congestion .status.level4>li:nth-child(-n + 4) svg {
    fill: #d54f42;
}

.conts-congestion .status.level5 svg {
    fill: #d54f42;
}

.conts-congestion .popup-close {
    top: -1.2rem;
    right: -1.2rem;
    opacity: 1;
}

@media screen and (max-width: 1100px) {
    .business-hour {
        margin-bottom: 3rem;
    }
}

@media screen and (max-width: 1000px) {
    .btn-congrestion .link-arrow:before {
        -ms-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

.btn-emergency-info {
    position: absolute;
    display: none;
}

.emergency-info {
    width: 90%;
    max-width: 800px;
    margin: 3rem auto;
    position: relative;
    text-align: center;
}

.emergency-info .popup-close {
    top: -1.2rem;
    right: -1.2rem;
    opacity: 1;
}

<!--追加-->
.wrapper {
    position: relative;
}
.fix-menu-wrap {
    position: fixed;
    z-index: 10;
    display: flex;
    align-items: center;
    top: 0;
    bottom: 0;
    left: 5vw;
    width: 48px;
    height: 100%;
}
.fix-menu {
    position: relative;
    background-color: rgba(77,64,18,0.8);
    border-radius: 5px;
    padding: 7px 7px 0;
}
.fix-menu li {
    width: 100%;
    height: auto;
    cursor: pointer;
    padding-bottom: 10px;
    transition: opacity 0.2s ease-in-out;

    img {
        width: 100%;
        height: auto;
    }
    &:hover {
        opacity: 0.5;
    }
}
@media screen and (max-width: 1300px) {
    .fix-menu-wrap {
        margin-top: 1.5vh;
    }
}
@media screen and (max-width: 1200px) {
    .fix-menu {
        left: -40px;
    }
}
@media screen and (max-width: 1000px) {
    .fix-menu-wrap {
        margin-top: 0;
        display: flex;
        align-items: end;
        padding-bottom: 10px;
    }
    .fix-menu {
        left: -2vw;
    }
}