@charset "UTF-8";
body{font-family: YuMincho,'Yu Mincho',serif; font-weight: 500;}
img{max-width: 100%; height: auto;}
p{line-height: 1.8;}
a{transition:0.5s;}
a:hover{opacity: 0.7;}
html {-webkit-text-size-adjust: 100%; }
body {
    -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
    animation: fadeIn 1.5s ease 0s 1 normal;
  }

  @keyframes fadeIn {
    0% {
      opacity: 0
    }

    100% {
      opacity: 1
    }
  }

  @-webkit-keyframes fadeIn {
    0% {
      opacity: 0
    }

    100% {
      opacity: 1
    }
  }


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

#g-nav{
    position:fixed;
    z-index: 999;
	top:0;
    right: -120%;
	width:100%;
    height: 100vh;
	transition: all 0.6s;
    background: #fff;
    padding-top: 3rem;
}
#g-nav ul li{
    list-style-type: none;
}

#g-nav.panelactive{
    right: 0;
}

#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 90vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

nav ul ul{
	display: block;
}
nav ul li{
	position: relative;
}
nav ul li a {
    display: block;
    text-decoration: none;
    padding: 15px 50px;
    transition: all .3s;
    color: #000;
    font-size: 16px;
}

nav ul li li a{
	padding:10px 35px;
}

nav ul li a:hover{
	color:#000;	
}
nav ul li.has-child::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 20px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: rotate(135deg);
}

nav ul ul li.has-child::before{
	content:'';
	position: absolute;
	left:6px;
	top:17px;
	width:6px;
	height:6px;
    border-top: 2px solid #fff;
    border-right:2px solid #fff;
    transform: rotate(45deg);
}

nav li.has-child ul{
	position: absolute;
	left:0;
	top:62px;
	z-index: 4;
	width:180px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}

nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}
nav li.has-child ul li a {
    border-bottom: 1px solid #ccc;
    padding-left: 4rem;
    background: #f2f2f2;
    padding-top: 20px;
    padding-bottom: 20px;
}

nav li.has-child ul li:last-child > a{
 border-bottom:none;
 }

nav ul.ico-menu li a {
    border: none;
}
.openbtn {
    position: fixed;
    z-index: 9999;
    top: 0px;
    right: 5px;
    cursor: pointer;
    width: 50px;
    height: 50px;
}
nav{
    padding: 0;
}

nav ul{
    display: block;
    padding: 0;
    margin: 0;
}

nav li.has-child ul,
nav li.has-child ul ul{
  position: relative;
left:0;
top:0;
width:100%;
visibility:visible;/*JSで制御するため一旦表示*/
opacity:1;/*JSで制御するため一旦表示*/
display: none;/*JSのslidetoggleで表示させるため非表示に*/
transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}

nav ul li a{
border-bottom:1px solid #ccc;
}
nav ul li.has-child::before {
left: 25px;
}

nav ul ul li.has-child::before{
transform: rotate(135deg);
left:20px;
}

nav ul li.has-child.active::before{
transform: rotate(-45deg);
}
ul.ico-menu {
    display: flex;
    justify-content: center;
}

ul.ico-menu li a {
    padding: 30px;
}

ul.ico-menu li a img {
    width: 100px;
}
	
.openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    width: 50%;
}

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
}

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

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
}
.openbtn.active span{
    background: #000;
}
    
}

#header {
    transition: 0.5s;
    height: 50px;
    position: fixed;
    top: 0;
    z-index: 999;
}
#header.UpMove{
	position: fixed;
	width:100%;
	animation: UpAnime 0.5s forwards;
    transition: 0.5s;
}

@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}
#header.DownMove{
    position: fixed;
    width: 100%;
    animation: DownAnime 0.5s forwards;
    z-index: 999;
    /* background-color: rgba(0, 0, 0, 0.5); */
    background-color: #fff;
    transition: 0.5s;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
}
body:not(.home) #header {
    width: 100%;
    position: fixed;
    z-index: 999;
    background-color: #fff;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);

}
#header.DownMove .logo,body:not(.home) #header .logo {
    display: block !important;
    width: 130px;
    padding: 10px;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}
#header.DownMove .openbtn span,body:not(.home) #header .openbtn span {
    background: #000;
}

#mainvisual{
    position: relative;
}
.m-logo {
    position: absolute;
    top: 37%;
    z-index: 1;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    width: 190px;
}
.slider {
    position:relative;
      z-index: 1;
  }
.slider, .slider-item img {
    height: 35vh;
}
.slider-item img {
    object-fit: cover;
    width: 100%;
    filter: brightness(0.6);
}
 
.slick-prev, .slick-next {
    position: absolute;
    z-index: 3;
    top: 42%;
    cursor: pointer;
    outline: none;
    border-top: 5px solid #000;
    border-right: 5px solid #000;
    height: 20px;
    width: 20px;
}
.slick-prev {
    left: -7.5%;
    transform: rotate(-135deg);
}
.slick-next {
    right: -7.5%;
    transform: rotate(45deg);
}
  
  .slick-dots {
      position: relative;
      z-index: 3;
      text-align:center;
      padding: -0;
      margin: -40px 0 0 0;
  }
  
  .slick-dots li {
      display:inline-block;
      margin:0 5px;
  }
  
  .slick-dots button {
    color: transparent;
    outline: none;
    width: 10px;
    height: 10px;
    display: block;
    border-radius: 50%;
    background: #fff;
    border: none;
    margin: 0 10px;
}
  
  .slick-dots .slick-active button{
      background:#ffed80;
  }

section {
    padding: 3rem 0;
}
h2 {
    line-height: 1.4;
    margin-bottom: 1rem;
}
#renew{
    position: relative;
}
#renew .row {
    border: 1px solid #ddd;
    padding: 1rem;
    margin: 0;
}
h2.ttl,h1.ttl {
    color: #c99d3c;
    text-align: center;
    font-size: 30px;
    text-transform: uppercase;
}
h2.ttl small,h1.ttl small {
    color: #000;
    font-size: 14px;
    display: block;
}

h2.ttl::before {
    content: "";
    background-image: url(../img/ico-ttl.png);
    display: block;
    width: 90px;
    height: 45px;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto 10px;
}
ul.news-list {
    padding: 0;
    margin: 0;
    border: 1px solid #c9c6b8;
    /* padding: 1rem 0; */
}

ul.news-list li {
    list-style-type: none;
    border-bottom: 1px solid #c9c6b8;
    padding: 1rem 3rem 1rem 1rem;
    position: relative;
}
ul.news-list li::after {
    content: ">";
    font-size: 20px;
    font-weight: bold;
    position: absolute;
    top: 38%;
    right: 15px;
}
ul.news-list li:last-child {
    border-bottom: none;
}
ul.news-list li a {
    color: #000;
    text-decoration: none;
}

ul.news-list li a p {
    margin: 0;
}

ul.news-list li a h3 {
    font-size: 16px;
    margin: 0;
    line-height: 1.4;
}
a.link-btn,a.link-btn2 {
    background-image: url(../img/bg-news-btn.png);
    width: 180px;
    margin: 1.5rem auto 0;
    color: #fff;
    text-decoration: none;
    background-size: contain;
    padding: 18px;
    text-align: center;
    background-repeat: no-repeat;
    display: block;
}
#topics {
    background: #f9f7ef;
    position: relative;
    overflow: hidden;
}
#renew::before,#topics::before ,#topics::after,#restaurant::before,#restaurant::after,#access::before,#access::after {
    content: "";
    background-image: url(../img/topics-ribon.png);
    display: block;
    width: 100%;
    height: 2px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 10px;
}
#renew::before {
    top: 5px;
}
#topics::after,#restaurant::after,#access::after{
    top: auto;
    bottom: 10px;
}
ul.topic-slider ,ul.plan-slider,.bn-slider{
    width: 85%;
    padding: 0;
    margin: 0 auto;
}
ul.topic-slider li a .of{
    background: #fff;
    padding: 1rem;
    border: 1px solid #c9c6b8;
    margin-bottom: 1rem;
}
ul.topic-slider li a figure{
    margin-bottom: 0;
}
ul.topic-slider li a ,ul.plan-slider li a,ul.fs-list li a{
    color: #000;
    text-decoration: none;
}

ul.topic-slider li h3 {
    margin: 0;
    font-size: 16px;
    text-align: center;
}

ul.plan-slider li,ul.eat-list li,ul.fs-list li  {
    padding: .5rem;
    border: 1px solid #c9c6b8;
}
ul.plan-slider li a h3 {
    text-align: center;
    font-size: 16px;
}

ul.plan-slider li p {
    font-size: 14px;
    margin: 0;
}

ul.plan-slider li p + p {
    margin-top: 5px;
}
ul.plan-slider li a figure,ul.topic-slider li a figure,ul.eat-list li a figure,ul.fs-list li a figure,ul.other-list li a figure{
    overflow: hidden;
}
ul.topic-slider li a figure img,ul.plan-slider li a figure img,ul.eat-list li a figure img,ul.fs-list li a figure img,ul.other-list li a figure img{
    transition: 0.5s;
}
ul.topic-slider li a figure img {
    object-fit: cover;
    width: 100%;
    height: 375px;
}
ul.plan-slider li a img {
    object-fit: cover;
    width: 100%;
    height: 190px;
}
ul.plan-slider li a:hover img,ul.topic-slider li a:hover figure img,ul.eat-list li a:hover figure img,ul.fs-list li a:hover figure img,ul.other-list li a:hover figure img{
    transform: scale(1.2);
    transition: 0.5s;
}

#stay {
    background-image: url(../img/bg-stay.jpg);
    color: #fff;
    background-repeat: no-repeat;
    background-size: cover;
}
#stay h2.ttl, #stay h2.ttl small {
    color: #fff;
}
#restaurant,#access {
    background: #f9f7ef;
    position: relative;
}
ul.eat-list,ul.row.fs-list,ul.other-list {
    margin: 0;
    padding: 0;
}
ul.eat-list li,ul.row.fs-list li {
    background: #fff;
    margin-bottom: 1rem;
    list-style-type: none;
    padding: 1rem;
    position: relative;
}
ul.eat-list li::after ,ul.row.fs-list li::after{
    content: "";
    background-image: url(../img/ico-link.png);
    width: 30px;
    height: 12px;
    position: absolute;
    background-size: contain;
    display: block;
    bottom: 11px;
    right: 11px;
    background-repeat: no-repeat;
}
ul.eat-list li a {
    color: #000;
    text-decoration: none;
}
ul.eat-list li h3 {
    font-size: 18px;
    text-align: center;
    color: #c99d3c;
}
ul.eat-list li h3::before {
    content: "";
    background-image: url(../img/logo-charoy.png);
    width: 120px;
    height: 40px;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto 1rem;
}
ul.eat-list li:nth-of-type(2) h3::before {
    background-image: url(../img/logo-seiseiden.png);
    width: 135px;
    height: 40px;
}
ul.eat-list li:nth-of-type(3) h3::before {
    background-image: url(../img/logo-palsona.png);
    width: 135px;
    height: 40px;
}
@media screen and (max-width:760px) {
    ul.eat-list li a figure img,ul.row.fs-list a figure img {
        width: 100%;
        height: 240px;
        object-fit: cover;
    }
}
ul.eat-list li dt,ul.fs-list li dt {
    background: #000;
    width: 100px;
    text-align: center;
    color: #fff;
    letter-spacing: 3px;
    padding: 2px 0;
    margin-bottom: 5px;
}
.banquet::after,.weeding::after  {
    content: "";
    background-image: url(../img/weeding1.jpg);
    display: block;
    width: 100%;
    height: 220px;
    background-repeat: no-repeat;
    background-size: contain;
}
.weeding::after {
    background-image: url(../img/weeding2.jpg);
}

ul.row.fs-list li h3 {
    text-align: center;
    margin: 0 auto 1rem;
    width: 110px;
}
ul.row.fs-list li:nth-of-type(3) h3 {
    width: 250px;
    margin-bottom: 0;
}
ul.other-list li {
    list-style-type: none;
    position: relative;
    margin-bottom: 1rem;
}
ul.other-list li a {
    color: #fff;
    text-decoration: none;
    display: block;
}
ul.other-list li a figure {
    position: relative;
    margin-bottom: 5px;
}
ul.other-list li a figcaption {
    position: absolute;
    font-size: 20px;
    left: 12%;
    top: 10%;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
ul.other-list li a figcaption small{
    font-size: 14px;
    display: block;
}
ul.other-list li a p {
    color: #000;
}
ul.other-list li a figure::after {
    content: "";
    background-image: url(../img/ico-link2.png);
    width: 60px;
    height: 20px;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 3px;
    right: 3px;
}
ul.other-list li:nth-of-type(2) a figure::after,ul.other-list li:nth-of-type(3) a figure::after{
    background-image: url(../img/ico-link3.png);
}

#access .col-sm-6.pa {
    padding: 1rem;
    background: #fff;
}
#access .col-sm-6.pa dt {
    font-size: 18px;
}
.map iframe {
    width: 100%;
    height: 300px;
    margin-bottom: 1rem;
}
.accordion {
    border: 2px solid #ccbc5e;
    background-color: #fff;
}
.accordion summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 1em;
    font-weight: 600;
    cursor: pointer;
}

.accordion summary::-webkit-details-marker {
    display: none;
}

.accordion summary::before,
.accordion summary::after {
    width: 3px;
    height: .9em;
    border-radius: 5px;
    background-color: #000;
    content: '';
}

.accordion summary::before {
    position: absolute;
    right: 1em;
    rotate: 90deg;
}

.accordion summary::after {
    transition: rotate .3s;
}

.accordion[open] summary::after {
    rotate: 90deg;
}

.accordion .inner > div {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 1em 1.5em;
    transition: transform .5s, opacity .5s;
}
.accordion .inner > div h3 {
    font-size: 18px;
    /* background: #f2f2f2; */
    border-bottom: 1px solid;
    padding: 5px 10px;
}
.accordion .inner > div h4 {
    font-size: 18px;
    border-left: 6px solid;
    padding-left: 10px;
    margin: 1rem 0;
}
.accordion .inner > div li{
    margin-bottom: 10px;
}


.accordion[open] .inner > div {
    transform: none;
    opacity: 1;
}
.bn-slider li a img {
    display: block;
    margin: 0 auto;
}
#footer {
    background: #f9f7ef;
}
#footer .container{
    padding: 3rem 0;
}
#footer .footer-nav{
    display: none;
}
#footer .col-sm-4.f-logo {
    text-align: center;
}
#footer .f-logo img {
    width: 200px;
    display: block;
    margin: 0 auto;
}
#footer .col-sm-4.f-logo p + p {
    font-size: 20px;
    line-height: 1.4;
    margin: 0;
}
#footer .col-sm-4.f-logo p {
    margin: 0;
}
#footer .col-sm-4.f-logo figure{
    margin-bottom: 5px;
}
ul.sns-link {
    display: flex!important;
    justify-content: center;
    margin: 1rem 0 0;
    padding: 0;
}
ul.sns-link li {
    list-style-type: none;
    padding: 0 15px;
}
p.copyright {
    background: #000;
    color: #fff;
    padding: 10px;
    text-align: center;
    margin: 0;
}
#page-top a {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    width: 35px;
    height: 35px;
    text-align: center;
    transition: all 0.3s;
}
#page-top {
	position: fixed;
	right: 10px;
	z-index: 2;
	opacity: 0;
	transform: translateY(100px);
}
#page-top.UpMove{
	animation: UpAnime2 0.5s forwards;
}
@keyframes UpAnime2{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}
#page-top.DownMove{
	animation: DownAnime2 0.5s forwards;
}
@keyframes DownAnime2{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

@media screen and (min-width:760px) {
    .slider, .slider-item img {
        height: 40vh;
    }
    .m-logo{
        width: 240px;
    }
    #renew .row{
        padding: 2rem;
    }
    ul.news-list {
        width: 480px;
        margin-left: auto;
    }
    #news .col-sm-10 {
        width: 72%;
    }
    #news .col-sm-2 {
        width: 28%;
    }
    ul.topic-slider li{
        margin: 0 1rem;
    }
    a.link-btn{
        background-image: url(../img/bg-btn.png);
        width: 270px;
        margin: 2rem auto 0;
    }
    ul.plan-slider li {
        margin: 0 .5rem;
    }
    /* ul.plan-slider .slick-track{
        display: flex!important;
        align-items: stretch!important;
    } */
    ul.plan-slider li {
        margin: 0 .5rem;
        height: 430px;
    }
    ul.eat-list li a figure img,
    ul.fs-list li a figure img, ul.other-list li a figure img {
        object-fit: cover;
        width: 100%;
        height: 400px;
    }
    ul.topic-slider li a figure img{
        height: 320px;
    }
    ul.topic-slider, ul.plan-slider, .bn-slider {
        width: 90%;
    }
    .banquet::after, .weeding::after{
        height: 440px;
    }
    .bn-slider {
        width: 80%;
    }
    .bn-slider li {
        margin: 0 1rem;
    }
}
@media screen and (min-width:1200px) {
    #header {
        display: flex;
        justify-content: space-between;
        width: 100%;
        height: 84px;
    }
    #g-nav-list {
        display: flex;
        position: relative;
    }
    #g-nav-list > ul {
        display: flex;
        padding: 0;
        margin: 0;
    }
    #g-nav-list ul li a {
        color: #fff;
        text-decoration: none;
    }
    #g-nav-list ul li {
        list-style-type: none;
    }
    #g-nav-list ul li ul {
        opacity: 0;
        visibility: hidden;
        height: 0;
        position: absolute;
        background-color: rgba(255, 255, 255, 0.6);
        padding: 1rem;
        width: 280px;
        top: 34px;
        left: 20px;
    }

    #g-nav-list ul li.has-child {
        position: relative;
        transition: 0.5s;
        height: fit-content;
    }
    #g-nav-list ul li.has-child:hover > ul {
        opacity: 1;
        visibility: visible;
        height: auto;
        transition: 0.5s;
    }
    #g-nav-list ul li ul li a {
        color: #000;
        padding: 5px 0px !important;
    }
    #g-nav-list ul.sub-menu {
        position: absolute;
        top: 15px;
        right: 190px;
    }
    #g-nav-list ul.main-mune {
        align-items: flex-end;
    }
    #g-nav-list ul.main-mune li a {
        display: block;
        padding: 0 10px 10px;
        font-size: 15.5px;
    }
    #g-nav-list ul.sub-menu li a {
        display: block;
        padding-left: 30px;
        font-size: 15px;
    }
    #g-nav-list ul.sub-menu li a::before {
        content: "";
        display: inline-block;
        background-image: url(../img/ico-sublink.png);
        width: 9px;
        height: 11px;
        background-repeat: no-repeat;
        background-size: contain;
        margin-right: 2px;
    }
    #header.DownMove #g-nav-list ul.sub-menu li a::before,body:not(.home) #header #g-nav-list ul.sub-menu li a::before{
        background-image: url(../img/ico-sublink2.png);
    }
    #header.DownMove #g-nav-list ul li a,body:not(.home) #header #g-nav-list ul li a  {
        color: #000;
    }
    #header.DownMove .logo,body:not(.home) #header .logo {
        width: 210px;
        padding: 20px;
    }
    #header.DownMove #g-nav-list ul li ul {
        background: #fff;
    }
    .slider, .slider-item img {
        height: 84vh;
    }
    .m-logo {
        top: 41%;
    }
    section {
        padding: 4rem 0;
    }
    #renew h2 {
        font-size: 24px;
    }
    #news .container,#massage .container,#access .container {
        max-width: 1000px;
    }
    ul.news-list {
        width: 100%;
    }
    h2.ttl,h1.ttl {
        font-size: 40px;
    }
    ul.news-list li a {
        display: flex;
        align-items: center;
    }
    ul.news-list li a p {
        width: 100px;
    }
    ul.news-list li {
        padding: 1rem 3rem 1rem 2rem;
    }
    ul.news-list li::after{
        top: 25%;
    }
    #topics,#restaurant,#access {
        padding: 6rem 0;
    }
    ul.topic-slider li a figure img {
        height: 380px;
    }
    .slick-prev {
        left: -2.5%
    }
    .slick-next {
        right: -2.5%;
    }
    ul.plan-slider {
        width: 100%;
        display: flex;
        align-items: stretch;
    }
    
    ul.plan-slider li {
        list-style-type: none;
        height: auto;
        width: 25%;
        padding-bottom: 1.5rem;
    }
    ul.plan-slider li a img {
        height: 170px;
    }
    #stay p {
        max-width: 710px;
        margin: 0 auto 6rem;
        line-height: 2.2;
    }
    #massage {
        padding-bottom: 6rem;
    }
    ul.eat-list,ul.row.fs-list,ul.other-list {
        justify-content: space-between;
    }
    ul.eat-list li,ul.row.fs-list li {
        width: 32.5%;
    }
    .banquet::after, .weeding::after {
        height: 530px;
        max-width: 1000px;
        margin: 3rem auto;
    }
    .banquet, .weeding {
        position: relative;
    }
    .banquet p {
        width: 320px;
        position: absolute;
        top: 75px;
        right: 45px;
    }
    .weeding p{
        width: 320px;
        position: absolute;
        top: 75px;
        left: 45px;
    }
     ul.other-list li a figure img {
        height: 160px;
    }
    ul.other-list li{
        padding: 0;
    }
    ul.row.other-list li {
        width: 32.7%;
    }
    #access .col-sm-6.pa {
        padding: 4rem 3rem 3rem 3rem;
    }
    #access .col-sm-6.pa dt {
        font-size: 24px;
    }
    #access .col-sm-6.pa dl{
        margin-bottom: 2rem;
    }
    .map iframe {
        height: 400px;
    }
    .accordion summary {
        font-size: 18px;
        padding: 1em 2em;
    }
    .accordion summary::before{
        right: 2em;
    }
    .accordion .inner > div{
        padding: .3em 3em 1.5em;
    }
    .accordion .inner > div h3 {
        font-size: 20px;
    }
    .accordion .inner > div h3:not(:first-child){
        margin-top: 2rem;
    }
    #footer .footer-nav {
        display: flex;
        justify-content: space-between;
    }
    #footer .col-sm-8 ul {
        padding-left: 1rem;
    }
    #footer li a {
        display: block;
        color: #000;
        text-decoration: none;
        padding-bottom: 10px;
    }
    #footer .col-sm-8 ul li {
        list-style-type: none;
    }
    #footer .col-sm-8 ul {
        padding-left: 1rem;
    }
    #footer .col-sm-4.f-logo{
        width: 25%;
    }
    #footer .col-sm-8 {
        width: 75%;
        border-left: 1px solid;
        padding-top: 2rem;
    }
    #footer .container {
        padding: 5rem 0;
    }
    #footer .col-sm-8 ul li ul {
        padding-top: 10px;
        position: relative;
    }
    #footer .col-sm-8 ul li ul::before {
        content: "";
        height: 95px;
        width: 1px;
        display: block;
        background: #000;
        position: absolute;
        top: 5px;
        left: 7px;
    }
    #footer .f-logo img {
        width: 230px;
        margin-bottom: 10px;
    }
    #footer .col-sm-4.f-logo p {
        margin-bottom: 10px;
    }
    #footer .col-sm-4.f-logo p + p {
        font-size: 22px;
    }
    ul.sns-link {
        justify-content: end;
        margin: 0;
    }
}

@media screen and (min-width:1400px) {
    .slider, .slider-item img {
        height: 95vh;
    }
    .m-logo {
        width: 300px;
    }
    #g-nav-list ul.main-mune li a {
        font-size: 18px;
        padding: 0 20px 10px;
    }
    #g-nav-list ul li ul li a {
        font-size: 16px !important;
    }
    #header.DownMove .logo {
        width: 240px;
        padding: 15px;
    }
    .container{
        max-width: 1300px;
    }
    #renew h2 {
        font-size: 28px;
        margin-top: 5px;
    }
    #renew .row {
        padding: 3rem 2rem;
    }
    section {
        padding: 6rem 0;
    }
    #news .container, #massage .container,#access .container {
        max-width: 1100px;
    }
    h2.ttl::before {
        width: 112px;
        height: 55px;
    }
    h2.ttl,h1.ttl {
        font-size: 45px;
    }
    ul.news-list li {
        padding: 1.5rem 3rem 1.5rem 2rem;
    }
    ul.topic-slider {
        width: 95%;
    }
    a.link-btn {
        margin: 3rem auto 0;
    }
    ul.topic-slider li a figure img {
        height: 480px;
    }
    ul.plan-slider li a img {
        height: 195px;
    }
    #stay p {
        margin: 0 auto 10rem;
    }
    #massage {
        padding-bottom: 8rem;
        padding-top: 4rem;
    }
    ul.eat-list li h3::before{
        width: 150px;
    height: 50px;
    }
    ul.eat-list li:nth-of-type(2) h3::before {
        width: 173px;
        height: 49px;
    }
    ul.eat-list li:nth-of-type(3) h3::before {
        width: 189px;
        height: 52px;
    }
    ul.eat-list li h3 {
        font-size: 20px;
    }
    ul.eat-list li dl,ul.row.fs-list li dl {
        display: flex;
        align-items: flex-start;
    }
    ul.eat-list li dl dt,ul.row.fs-list li dl dt{
        margin-right: 5px;
    }
    ul.eat-list li p {
        height: 80px;
    }
    .banquet::after, .weeding::after {
        height: 650px;
        max-width: 1200px;
        margin: 4rem auto;
    }
    .banquet p {
        top: 90px;
        right: 100px;
    }
    .weeding p{
        left: 100px;
    }
    ul.row.fs-list li h3 img {
        object-fit: contain;
        height: 80px;
    }
    ul.row.fs-list li p {
        height: 170px;
    }
    ul.row.fs-list li:nth-of-type(3) h3 {
        margin-bottom: 1rem;
    }
    ul.other-list li a figure img {
        height: 200px;
    }
    #footer .f-logo img {
        width: 250px;
    }
 
}

@media screen and (min-width:1600px) {
    #g-nav-list ul.main-mune li a {
        font-size: 20px;
        padding: 0 30px 10px;
    }
    .container {
        max-width: 1600px;
    }
    #renew h2 {
        font-size: 30px;
    }
        #renew .row {
        padding: 4rem;
    }
    #news .container, #massage .container, #access .container {
        max-width: 1200px;
    }
    h2.ttl,h1.ttl {
        font-size: 48px;
        margin-bottom: 2rem;
    }
    ul.topic-slider li a figure img {
        height: 615px;
    }
    ul.plan-slider li a img {
        height: 250px;
    }
    #stay p {
        margin: 0 auto 14rem;
    }
    ul.eat-list li a figure img, ul.fs-list li a figure img {
        height: 530px;
    }
    ul.eat-list li p {
        height: auto;
    }
    ul.eat-list li, ul.row.fs-list li{
        padding: 1rem 1.5rem;
    }
    .banquet::after, .weeding::after {
        height: 870px;
        max-width: 1600px;
        margin: 4rem auto;
    }
    .banquet::after{
        margin-left: 5%;
    }
    .weeding::after {
        margin-right: 5%;
    }
    .banquet p {
        top: 130px;
        right: 250px;
    }
    .weeding p {
        left: 235px;
        width: 390px;
        top: 100px;
    }
    ul.row.fs-list li p {
        height: 145px;
    }
    ul.other-list li a figure img {
        height: 240px;
    }
    ul.other-list li a figcaption{
        font-size: 30px;
        line-height: 1;
    }
    ul.other-list li a figcaption small {
        line-height: 2;
    }
    #renew::before, #topics::before, #topics::after, #restaurant::before, #restaurant::after, #access::before, #access::after{
        height: 4px;
    }
    #footer .f-logo img {
        width: 300px;
    }
    #footer li a,#footer .col-sm-8 ul li {
        font-size: 18px;
    }
    #footer .col-sm-8 ul li ul li a {
        font-size: 16px;
    }
    #footer .footer-nav {
        justify-content: space-evenly;
    }
}

/* page */
.page_header_box {
    background: #f9f7ef;
    padding: 30px 0 10px 0;
    border-bottom: 1px solid #d3cfbc;
    margin-bottom: 5px;
    margin-top: 50px;
}

.page_header_box h2.ttl::before {
    display: none;
}
.bread a {
    color: #000;
    text-decoration: none;
}

.bread span {
    padding: 0 5px;
}
#page-content {
    padding: 2rem 0 4rem;
}
#page-content h1 {
    text-align: center;
    font-size: 25px;
}
h2.wp-block-heading {
    color: #c99d3c;
    border-bottom: 2px solid;
    padding-bottom: 5px;
    margin-top: 2rem;
    font-size: 24px;
    /* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold; */
}
h3.wp-block-heading {
    font-size: 20px;
    color: #c99d3c;
    /* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold; */
}

.gothic{
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif!important;
    font-weight: bold;
}
.uppe{
    text-transform: uppercase;
}

h2.wp-block-heading:not(:nth-of-type(1)),h3.wp-block-heading:not(:nth-of-type(1)),h4.wp-block-heading:not(:nth-of-type(1)){
    margin-top: 3rem;
}
h4.wp-block-heading {
    font-size: 18px;
    color: #c99d3c;
    /* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
    /* font-weight: bold; */
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
    padding: 15px;
    border: none;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th{
    background: transparent;
    padding-left: 40px;
}
table.has-fixed-layout tr {
    border-top: 1px solid;
}
table.has-fixed-layout tr:last-child {
    border-bottom: 1px solid;
}

@media screen and (min-width:1300px) {
    body:not(.home) #page-content .container {
        max-width: 1200px;
    }
    #page-content {
        padding: 4rem 0 8rem;
    }
    h2.wp-block-heading {
        margin-top: 3rem;
        margin-bottom: 1.5rem;
    }
    h3.wp-block-heading:not(:nth-of-type(1)), h4.wp-block-heading:not(:nth-of-type(1)) {
        margin-top: 4rem;
    }
    h2.wp-block-heading:not(:nth-of-type(1)){
        margin-top: 5rem;
    }
    
}

/* リラクゼーションルーム */

.wp-block-group.reserves {
    background: #f9f7ef;
    padding: 2rem;
    border: 2px solid #ccc9ba;
    margin-top: 10%;
}
.wp-block-group.reserves h4,.wp-block-group.reserves a {
    color: #000;
    text-decoration: none;
}
.wp-block-group.reserves a {
    font-size: 22px;
}
@media screen and (min-width:760px) {
    .wp-block-group.reserves h4 {
        font-size: 20px;
    }
    .wp-block-group.reserves {
        padding: 4rem 2rem;
    }
}

@media screen and (min-width:1200px) {
    .wp-block-group.reserves .px-md-5 {
        padding-left: 25% !important;
    }
    .page_header_box {
        margin-top: 84px;
        padding: 50px 0 30px 0;
    }
}

/* ゆーぱる */
.page-id-181 #page-content h1::before {
    content: "";
    background-image: url(../img/logo-yupal.png);
    display: block;
    width: 100px;
    height: 50px;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto 1rem;
}
figcaption.wp-element-caption {
    text-align: center;
}
@media screen and (min-width:760px) {
    .page-id-181 #page-content h1::before {
        width: 130px;
        height: 60px;
    }
}
@media screen and (min-width:1300px) {
    .img-box .wp-block-columns {
    margin-left: -50px;
    margin-right: -50px;
}
}
@media screen and (min-width:1300px) {
    .img-box .wp-block-columns {
    margin-left: -80px;
    margin-right: -80px;
}
}
@media screen and (min-width:1600px) {
    .img-box .wp-block-columns {
    margin-left: -130px;
    margin-right: -130px;
}
}
/* せいせいでん */
.page-id-199 #page-content h1::before {
    content: "";
    background-image: url(../img/logo-seiseiden.png);
    display: block;
    width: 140px;
    height: 50px;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto 1rem;
}
@media screen and (min-width:760px) {
    .page-id-199 #page-content h1::before {
        width: 173px;
    }
}

/* シャロワ */
.page-id-224 #page-content h1::before {
    content: "";
    background-image: url(../img/logo-charoy.png);
    display: block;
    width: 140px;
    height: 50px;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto 1rem;
}
/* パルソナ */
.page-id-231 #page-content h1::before {
    content: "";
    background-image: url(../img/logo-palsona.png);
    display: block;
    width: 160px;
    height: 50px;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto 1rem;
}
/* 会社概要 */
.page-id-363 #page-content h1 ,.page-id-387 #page-content h1,.page-id-398 #page-content h1 ,.page-id-469 #page-content h1 {
    display: none;
}
/* トピックカテゴリ分けリスト */
#page-topics ul {
    padding: 0;
    margin: 0 auto;
}

#page-topics ul li {
    list-style-type: none;
    margin-bottom: 2rem;
}
#page-topics h2.ttl::before{
    display: none;
}
@media screen and  (min-width:760px) {
    #page-topics ul {
        display: flex;
        width: 100%;
        gap: 2em;
    }
    #page-topics ul.topic-slider li a figure img {
        height: 240px;
    }
    #page-topics ul li {
        width: 33%;
        margin: 0;
    }
}
@media screen and  (min-width:1200px) {
    #page-topics ul.topic-slider li a figure img {
    height: 450px;
}
}
@media screen and  (min-width:1400px) {
    #page-topics ul.topic-slider li a figure img {
    height: 500px;
}
}

/* シャロワ */
.page-id-244 #page-content h1::before {
    content: "";
    background-image: url(../img/logo-rekasse.png);
    display: block;
    width: 80px;
    height: 60px;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto 1rem;
}
@media screen and (min-width:1200px) {
    .page-id-244 #page-content h1::before {
        width: 104px;
        height: 75px;
    }
}

/* archive */
span.pages {
    display: none;
}
.wp-pagenavi {
    text-align: center;
    margin: 2rem 0 0;
}
.wp-pagenavi a, .wp-pagenavi span {
    padding: 3px 10px !important;
    color: #000;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
    background: #000;
    color: #fff;
}
.post-inner {
    padding: 1rem;
    border: 3px solid #c9c6b8;
    margin-bottom: 2rem;
}
h2.post-ttl {
    font-size: 20px;
    margin: 0;
}
.post-inner a {
    color: #931212;
}

.entry-pager {
  display: flex;
  justify-content: space-between;
}
.back a, .next a {
  text-decoration: none;
  border: 1px solid #c9c6b8;
  padding: 10px 20px;
  width: 150px;
  display: block;
  text-align: center;
  color: #000;
}
.back a::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-left: 3px solid #000;
  border-bottom: 3px solid #000;
  transform: rotate(45deg);
  margin-right: 10px;
}
.next a::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-left: 3px solid #000;
  border-bottom: 3px solid #000;
  transform: rotate(-135deg);
  margin-left: 10px;
}
.post-type-archive-topics ul.topic-slider li {
    list-style-type: none;
    margin-bottom: 2rem;
}
.post-type-archive-plan ul.plan-slider li {
    list-style-type: none;
    margin-bottom: 2rem;
}
.page-id-3 #page-content a {
    color: #931212;
    word-break: break-word;
}
@media screen and (min-width:760px) {
    .post-inner {
    padding: 2rem;
}
.post-type-archive-topics ul.topic-slider {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.post-type-archive-topics ul.topic-slider li {
    width: 46.8%;
    margin: 0;
}
.post-type-archive-plan ul.plan-slider {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}
.post-type-archive-plan ul.plan-slider li {
    width: 48%;
    margin: 0;
}
}
@media screen and (min-width:1200px) {
    .post-inner {
    padding: 4rem;
}
    .post-type-archive-topics ul.topic-slider li {
        width: 30%;
    }
h2.post-ttl {
    font-size: 22px;
}
.post-type-archive-plan ul.plan-slider li {
    width: 23.3%;
}
.post-type-archive-plan ul.plan-slider li a img {
    height: 170px;
}
}
@media screen and (min-width:1400px) {
    .post-type-archive-topics ul.topic-slider li a figure img {
        height: 400px;
    }
}

/* plan */
.plan .info {
    background: #f9f7ef;
    padding: 1rem;
    margin: -1rem 0 1rem;
}
.plan .info p {
    margin: 0;
}
.plan .price,.plan .time {
    font-size: 18px;
}
.plan h2.post-ttl {
    margin-bottom: 1rem;
    text-align: center;
}
.plan .post-contents {
    margin: 1rem 0 0;
}
.plan img.thumbnail-img.wp-post-image {
    margin-bottom: 1rem;
    width: 100%;
}

/* form */
#snow-monkey-form-397 {
    margin: 2rem 0 0;
}
label strong {
    color: red;
    font-size: 12px;
}
.smf-form--simple-table .smf-item {
    border-top: 1px solid #ddd;
}
.smf-action .smf-button-control__control {
    background: #000;
    color: #fff;
    font-weight: bold;
    border: 0;
    padding: 1rem;
    letter-spacing: 1px;
}
@media screen and (min-width:1200px) {
    #snow-monkey-form-397 {
    margin: 4rem auto 0;
    max-width: 1000px;
}
.smf-progress-tracker {
    margin-bottom: 4rem;
}
.smf-form--simple-table .smf-item {
    padding: 2rem 3rem;
}
}