/*
Theme Name: hakusui
Author: CUBE
Author URI: https://cube096.com/
Description: 株式会社はくすい瑠璃のテーマ
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: hakusui
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Header
# Footer
# Sidebar
# Navigation
  ## Links
  ## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
  ## Posts and pages
  ## トップページ
  ## 瑠璃について
  ## アクセス
  ## 南阿蘇観光
  ## 温泉
  ## 御宿
  ## お食事
  ## 館内施設
  ## FAQ
  ## 個人情報保護方針
  ## 記事一覧
  ## 記事詳細
  ## 404
  ## Comments
# Infinite scroll
# Media
  ## Captions
  ## Galleries
# Break Point
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust:     100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: hakusuiline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: hakusuiline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: separate;
  margin: 30px 0 50px;
  width: 100%;
}

th,
td {
  vertical-align: middle;
  font-weight: bold;
  letter-spacing: 2px;
}

th {
  background: #789884;
  color: #fff;
  width: 20%;
  padding: 15px 0;
}

td {
  padding: 5px 30px;
  color: #789884;
  line-height: 1.5;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
  color: #442f21;
  font-size: 15px;
  font-family: 'Taviraj','游ゴシック Medium','YuGothic Medium','Yu Gothic Medium','sans-serif';
  line-height: 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  margin: 0;
}

h1 {
  font-size: 32px;
  margin: 30px 0;
}

h2 {
  font-size: 26px;
  font-family: YuMincho,'Yu Mincho',serif;
  margin: 15px 0 30px;
  letter-spacing: 10px;
}

h3 {
  font-size: 24px;
  margin: 30px 0;
}

h4 {
  font-size: 18px;
  margin: 30px 0;
}

h5 {
  font-size: 16px;
  margin: 30px 0;
}

h6 {
  font-size: 14px;
  margin: 30px 0;
}

p {
  margin: 0 0 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

.font-blue {
  color: #312477;
}

.font-red {
  color: #af334e;
}

.font-brown {
  color: #b17d1a;
}

.font-green {
  color: #567e66;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

body {
  background: #fff; /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}

blockquote,
q {
  quotes: "" "";
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  transition: all .3s ease-in-out;
}

figure {
  margin: 1em 0;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, .8);
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  padding: .6em 1em .4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}

select {
  border: 1px solid #ccc;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# サイト閉鎖ポップアップ(20240320追加)
--------------------------------------------------------------*/
.js-blackBg{
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, .8);
  z-index: 9998;
  transition: opacity .5s,visibility .5s;
  opacity: 0;
  visibility: hidden;
}
.js-blackBg.is-show{
  opacity: 1;
  visibility: visible;
}

.popUp__inner{
  position: relative;
  width: 100%;
  max-width: 860px;
  font-size: 16px;
  color: #000;
  background-color: #fff;
  padding: 1rem 2rem 2rem;
  text-align: center;
  line-height: 2;
}
.popUp__inner p:nth-of-type(1){
  font-size: 20px;
  margin-bottom: 1rem;
}
.popUp__inner p:nth-of-type(n+2){
  margin-bottom: 0;
}

.popUp__closeArrowWrapper{
  display: block;
  width: 100%;
  max-width: 20px;
  max-height: 26px;
  margin-left: auto;
  cursor: pointer;
}

.popUp__closeArrow{
  position: relative;
  display: inline-block;
  width: 20px;
  height: 4px;
  background: #333;
  transform: rotate(45deg);
  vertical-align: middle;
}
.popUp__closeArrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #333;
  transform: rotate(90deg);
}

.popUp__btn{
  display: block;
  max-width: 200px;
  border: 1px solid #000;
  padding: 0.8rem;
  margin: 1rem auto 0;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.site-header {
  position: relative;
}

.sp-head-wrapper {
  display: none;
}

.breadcrumb-list-wrapper {
  background: #E6E6E6;
}

.breadcrumb-list {
  padding: 5px 0;
  font-size: 10px;
}

.breadcrumb-list a {
  text-decoration: none;
}

.breadcrumb-arrow {
  color: #C25765;
}



.fix-tel {
  position: fixed;
  top: 1.5%;
  right: 2%;
  width: 20%;
  z-index: 999;
}

.fix-tel a {
  cursor: default;
}

.fix-tel a:hover img {
  opacity: 1;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
footer {
  margin: 120px 0 0;
}

#pagetop {
  position: fixed;
  right: 2%;
  bottom: 2%;
}

.sitemap-arrow {
  padding: 10px 0;
  background: #b2a591;
  color: #fff;
  font-size: 16px;
  letter-spacing: 8px;
  cursor: pointer;
}

.sitemap-cont {
  background: #d6d1ca;
  padding: 30px 0 120px;
  display: none;
}

.sitemap-inner {
  justify-content: space-between;
}

.sitemap-inner .col {
  margin: 0 10px;
}

.ft-sitemap,
.ft-sitemap-sub {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ft-sitemap li {
  line-height: 2.2;
}

.ft-sitemap a {
  font-size: 13px;
  letter-spacing: 3px;
}

.ft-sitemap-sub li {
  line-height: 1;
  margin: 0 0 10px;
}

.ft-sitemap-sub a {
  font-size: 11px;
}

.ft-sitemap7 .ft-sitemap-sub {
  margin: 0 0 20px;
}

.ft-meta-wrapper {
  padding: 68px 0 85px;
  background: url(images/common/bg-ft-meta.png) no-repeat 0 0 / cover;
}

.ft-meta1,
.ft-meta3 {
  flex-basis: 30%;
}

.ft-meta2 {
  margin: 0 20px;
  flex-basis: 35%;
}

.ft-logo {
  margin: 0 0 15px;
}

.ft-address {
  font-size: 14px;
  font-style: normal;
  line-height: 2;
}

.ft-meta-bnr1 {
  margin: 5px 0 25px;
}

.copyright {
  background: #281909;
  color: #fff;
  font-size: 14px;
  letter-spacing: 5px;
  padding: 10px 0;
}

/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/
.logo {
  margin: 30px 0;
}

.side-address {
  font-size: 12px;
  color: #fff;
  line-height: 1.6;
  padding: 20px 0 28px 38px;
}

.side-address a,
.side-address a:hover {
  color: #fff;
}

.side-plan a,
.side-calendar a {
  display: block;
  color: #fff;
  font-size: 13px;
  padding: 16px;
  margin: 0 auto;
  border-radius: 10px;
  width: 72%;
}

.side-plan a {
  background: #beaf68;
  border: solid 1px #beaf68;
  margin: 0 auto 12px;
}

.side-plan a:hover {
  color: #fff;
  background: #aa9d5d;
}

.side-calendar a {
  background: #443463;
  border: solid 1px #443463;
}

.side-calendar a:hover {
  color: #fff;
  background: #33274a;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  color: #000;
  transition: all .3s ease-in-out;
  text-decoration: none;
}

a:hover {
  color: #3d2407;
}

a:hover,
a:active {
  outline: 0;
}

a img{
 -webkit-backface-visibility:hidden;
 backface-visibility:hidden;
 transition: all .3s ease-in-out;
}

a:hover img {
  opacity: 0.8;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
  padding: 10px;
}

.main-navigation li {
  width: 100%;
  position: relative;
}

.main-navigation a {
  display: block;
  text-decoration: none;
  font-family: Hannari,serif;
  font-size: 16px;
  color: #fff;
  padding: 15px 0 15px 70px;
  border-top: dotted 1px #9e9993;
}

.main-navigation li:last-child a {
  border-bottom: dotted 1px #9e9993;
}

.main-navigation a:after {
  content: ">";
  position: absolute;
  right: 15px;
}

.gnav-spa a {
  background: url(images/common/ico-spa.png) no-repeat 30px 50%;
}

.gnav-stay a {
  background: url(images/common/ico-stay.png) no-repeat 29px 50%;
}

.gnav-meal a {
  background: url(images/common/ico-meal.png) no-repeat 35px 50%;
}

.gnav-facility a {
  background: url(images/common/ico-facility.png) no-repeat 34px 50%;
}

.gnav-access a {
  background: url(images/common/ico-access.png) no-repeat 32px 50%;
}

.gnav-spa a:hover {
  background: #3c2207 url(images/common/ico-spa.png) no-repeat 30px 50%;
}

.gnav-stay a:hover {
  background: #3c2207 url(images/common/ico-stay.png) no-repeat 29px 50%;
}

.gnav-meal a:hover {
  background: #3c2207 url(images/common/ico-meal.png) no-repeat 35px 50%;
}

.gnav-facility a:hover {
  background: #3c2207 url(images/common/ico-facility.png) no-repeat 34px 50%;
}

.gnav-access a:hover {
  background: #3c2207 url(images/common/ico-access.png) no-repeat 32px 50%;
}

.main-navigation ul.sub-menu {
  visibility: hidden;
  opacity: 0;
  transition: all .2s ease-in-out;
  background: rgba(0,0,0,0.8);
  padding: 215px 0 0;
  position: fixed;
  top: 0;
  left: 20%;
  width: 180px;
  height: 100%;
  z-index: 999;
}

.main-navigation li.menu-item-has-children:hover ul.sub-menu {
  visibility: visible;
  opacity: 1;
}

.main-navigation ul.sub-menu a {
  color: #fff;
  font-size: 13px;
  border: none;
  background: none;
  padding: 25px;
}

.main-navigation ul.sub-menu li:last-child a {
  border: none;
}

.main-navigation ul.sub-menu a:after {
  content: none;
}

.main-navigation ul.sub-menu a:hover {
  color: #da3e54;
  background: none;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

#content[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin: 0 50px 30px 0;
}

.alignright {
  display: inline;
  float: right;
  margin: 0 0 30px 50px;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.flo-L {
  margin: 0 30px 30px 0;
  float: left;
}

.flo-R {
  margin: 0 0 30px 30px;
  float: right;
}

.site {
  margin: 0;
  overflow: hidden;
}

.site-content {
  width: 80%;
  position: relative;
  margin: 0 0 0 20%;
}

.sidebar {
  width: 20%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: url(images/common/bg-sidebar.png);
  position: relative;
  z-index: 999;
  position: fixed;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 35px;
  padding: 20px;
  background: url(images/common/bg-widget.png);
}

.widget h2 {
  padding: 0 0 15px;
  margin: 0 0 15px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 3px;
  text-align: center;
  border-bottom: solid 2px #fff;
  color: #fff;
  white-space: nowrap;
}

.widget select {
  width: 100%;
  margin: 0;
  font-size: 15px;
  color: #0c0804;
  font-family: YuMincho,'Yu Mincho',serif;
}

.widget ul {
  margin: 0;
  padding: 0;
  list-style: disc inside;
}

.widget li {
  padding: 7px 15px;
  font-size: 15px;
  color: #fff;
  font-family: YuMincho,'Yu Mincho',serif;
}

.widget li:first-child {
  padding: 0 15px 7px;
}

.widget a {
  color: #fff;
}
.widget li .children{
	margin-top:14px;	
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.hentry {
  margin: 0 0 1.5em;
}

.byline,
.updated:not(.published) {
  display: none;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.page-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.entry-content {
  margin: 0;
  padding: 0 5px 30px 5px;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.row {
  display: flex;
}

.row-2, .row-3, .row-4 { flex-wrap: wrap; }
.row-2 > .col { width: calc( (100% / 2) ); margin-top:3rem;}
.row-3 > .col { /*width: calc( (100% / 3) );*/ width: 100%; text-align: center;}
.row-4 > .col { width: calc( (100% / 4) ); }

.main-wrapper {
  width: 80%;
  margin: 0 auto;
  position: relative;
}


.ibl {
  display: inline-block;
  vertical-align: middle;
}

.tcenter {
  text-align: center;
}

.tright {
  text-align: right;
}

.tleft {
  text-align: left;
}

.hero-wrapper img {
  width: 100%;
}

/*--------------------------------------------------------------
## トップページ
--------------------------------------------------------------*/

/*コロナ関連*/
#corona{
	
}
#corona .corona_box{
      width:1000px;
      margin:0 auto;	
}

#corona .corona_box h4{
	position:fixed;
	font-size:1rem;
	padding:1rem 1.5rem;
	margin:0 1%;
	background-color:rgba(25,25,112,0.8);
	border-radius:5px;
	color:#fff;
	text-decoration:none;
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
	right: 0%;
	top:150px;
	line-height:30px;
	z-index:1;
}
#corona .info_box p{
	position:fixed;
	font-size:1rem;
	padding:1rem 1.5rem;
	margin:0 1%;
	background-color:rgba(170,157,93,0.9);
	border-radius:5px;
	color:#fff;
	text-decoration:none;
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
	right: 0%;
	top:250px;
	line-height:30px;
	z-index:1;
}
#corona .info_box a{
	color:#fff;	
}

/* スライダー */
.slide {
  margin: 0;
  padding: 0;
}

/* メインビジュアル */
.top-main-visual-wrapper {
  margin: 40px 0 0;
}

/* あいさつ */
.top-greeting-wrapper {
  padding: 50px 0 400px;
  background: url(images/top/bg-greeting.png) no-repeat bottom center / cover;
}

.top-greeting-inner {
  width: 60%;
  margin: 0 auto;
}

.top-greeting-inner h2 {
  font-size: 40px;
}

.top-greeting-inner h2 span {
  display: block;
  font-size: 26px;
  margin: 0 0 15px;
}

.top-greeting-inner p {
  margin: 0 0 35px;
  font-size: 16px;
  line-height: 2;
}

.top-greeting-inner p span {
  font-size: 20px
}

.top-greeting-inner a {
  color: #442f21;
  border: solid 1px #442f21;
  font-size: 14px;
  padding: 12px 28px;
}

.top-greeting-inner a:hover {
  color: #fff;
  background: #442f21;
}

/* トップサブメニュー */
.top-submenu-wrapper {
  width: 90%;
  margin: -150px auto 0;
  padding: 25px 25px 65px;
  background: #fff;
  position: relative;
}

/* トップ最新情報 */
.top-news-wrapper {
  background: url(images/top/bg-news.png);
  padding: 40px 0 120px;
}

.news-list-wrapper {
  padding: 25px 55px;
  border: solid 1px #2e1e0c;
  border-radius: 10px;
  background: #fff;
}

.news-list {
  align-items: center;
  padding: 5px 0;
  border-bottom: dotted 1px #c0bbb5;
  position: relative;
}

.news-list-date,
.news-list-title h3 {
  font-size: 14px;
  margin: 0;
  font-weight: normal;
}

.news-list-title {
  padding: 0 10px 0 0;
}

.news-list-title:after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.news-list-cat {
  flex-shrink: 0;
  flex-basis: 28%;
  text-align: center;
}

.news-list-cat a {
  display: block;
  color: #fff;
  background: #c1a96a;
  border: solid 1px #c1a96a;
  font-size: 12px;
  padding: 5px 8px;
  margin: 0 32px 0 25px;
}

.news-list-cat a:hover {
  color: #c1a96a;
  background: #fff;
}

.news-list-link {
  margin: 15px 0 0;
}

.news-list-link a {
  font-size: 13px;
  border-bottom: solid 1px #473829;
  box-shadow: 0 1px 0 #6f6357;
}

/* 営業日 */
.top-calendar-wrapper {
  padding: 25px 0 0;
}

.top-calendar-left {
  flex-basis: 40%;
}

.top-calendar-right {
  flex-basis: 60%;
  padding: 0 0 0 20px;
}

.top-calendar-desc {
  background: #eeecec;
  border-radius: 10px;
  padding: 40px 30px;
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.6;
}

.bnr-top-plan {
  justify-content: space-between;
  align-items: center;
}

.bnr-top-plan-inner {
  flex-basis: 49%;
}

/*--------------------------------------------------------------
## 瑠璃について
--------------------------------------------------------------*/
.about-catch-inner-left {
  background: url(images/about/about-catch.png) no-repeat 0 0 / cover;
}

.about-catch-inner-left img {
  display: none;
}

.about-catch-wrapper {
  margin: 60px 0 0;
}

.about-catch-inner-right {
  background: url(images/about/bg-catch-right.png) no-repeat 0 0 / cover;
  padding: 60px;
}

.about-catch-inner-right h3 {
  font-size: 22px;
  font-family: YuMincho,'Yu Mincho',serif;
  line-height: 1.3;
  color: #fff;
  margin: 0 0 30px;
}

.about-catch-inner-right p {
  color: #fff;
  font-size: 14px;
  line-height: 1.7;
  margin: 0;
  font-family: YuMincho,'Yu Mincho',serif;
}

.about-facility-wrapper {
  padding: 50px 0;
  background: url(images/about/bg-about-facility.png);
}

.about-facility-inner .ss-price-table th {
  background: none;
  padding: 0;
}

.about-facility-inner .table-bg-red {
  background: #a75552;
}

.about-facility-inner .table-bg-gold {
  background: #d7ab77;
}

.about-facility-inner .table-bg-green {
  background: #567e66;
  padding: 25px;
}

.about-facility-inner .table-bg-purple {
  background: #4a386a;
  padding: 25px;
}

.about-price-wrapper {
  padding: 50px 0 0;
}

.about-price-inner,
.about-price-bottom {
  margin: 0 auto -5px;
}

.about-price-inner .col,
.about-price-bottom .col {
  width: calc( (100%/2) - 10px );
  margin: 0 5px;
}

.about-price-inner h2#about-price-bath,
.about-price-inner h2#about-price-stay {
  text-align: center;
  margin: 0;
}

.about-price-inner h2#about-price-bath:after,
.about-price-inner h2#about-price-stay:after {
  width: 40%;
  margin: 5px auto 0;
}

.about-price-table {
  background: url(images/about/bg-about-price-table.png);
  border-collapse: collapse;
  margin: 0;
}

.about-price-table .table-bg-gold {
  background: #d7ab77;
}

.about-price-table th,
.about-price-table td {
  border: solid 2px #51412e;
  text-align: center;
  font-weight: normal;
}

.about-price-table th {
  width: 42%;
  background: none;
  padding: 5px;
}

.about-price-table td {
  color: #2f1f0c;
  font-size: 14px;
  padding: 5px;
}

.about-price-mini {
  font-size: 12px;
}

.about-price-bottom p {
  color: #2f1f0c;
  font-size: 14px;
  line-height: 1.7;
  margin: 20px 0 0 20px;
}

.about-price-sp-cont {
  display: none;
}

/*--------------------------------------------------------------
## アクセス
--------------------------------------------------------------*/
.access-location-wrapper {
  background: url(images/access/bg-location.png) no-repeat 0 0 / cover;
  padding: 65px 0;
}

.access-location-inner {
  color: #fff;
  border-top: solid 2px #fff;
  border-bottom: solid 2px #fff;
  padding: 50px 0;
  font-family: YuMincho,'Yu Mincho',serif;
}

.access-location-inner h3 {
  margin: 0 0 25px;
}

.access-location-address {
  font-size: 22px;
  font-style: normal;
  text-align: left;
  width: 42%;
  margin: 0 auto;
}

.access-location-address span {
  display: block;
  margin: 0 0 10px;
}

.access-location-tel,
.access-location-contact {
  font-size: 16px;
}

.access-location-tel {
  margin: 15px 0 20px;
}

.access-location-tel span {
  font-size: 20px;
}

.access-googlemap-wrapper h2,
.access-traffic-wrapper h2 {
  margin: 40px 0;
  letter-spacing: 5px
}

.access-traffic-inner1 {
  background: #ddd;
}

/*--------------------------------------------------------------
## 南阿蘇観光
--------------------------------------------------------------*/
.guide-catch-wrapper {
  background: url(images/guide/bg-catch.png) no-repeat 0 0 / cover;
  padding: 80px 0 90px;
  margin: 40px 0;
  color: #000;
  font-family: YuMincho,'Yu Mincho',serif;
}

.guide-catch-wrapper h3 {
  font-size: 22px;
  line-height: 1.6;
  margin: 0 0 30px;
}

.guide-catch-wrapper p {
  font-size: 14px;
  margin: 0;
  line-height: 2.1;
}

.guide-cont-inner {
  color: #100a03;
}

.guide-cont-card h3 {
  font-size: 20px;
  margin: 25px 0 15px;
  font-family: YuMincho,'Yu Mincho',serif;
}

.guide-cont-card p {
  margin: 0 0 0 10%;
  font-size: 13px;
  line-height: 1.6;
}

.guide-cont-card hr {
  width: 90%;
  border: solid 1px #b5b5b5;
  box-shadow: 0 1px 0 #5f5f5f;
  margin: 20px auto;
  background: none;
  height: 0;
}

.guide-card-table {
  width: 80%;
  margin: 0 auto;
}

.guide-card-table th,
.guide-card-table td {
  font-size: 14px;
}

#guide-shop {
  margin: 15px 0;
}

/*--------------------------------------------------------------
## 温泉
--------------------------------------------------------------*/
.ss-jump-wrapper {
  padding: 18px 0;
}

.ss-jump-wrapper a {
  font-size: 14px;
  color: #2d1d0c;
}

.spa-jump {
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.spa-jump .col + .col {
  margin: 0 0 0 15%;
}

.ss-catch-wrapper {
  padding: 65px 0;
  background: url(images/spa/bg-spa-catch.png) no-repeat 0 0 / cover;
  font-family: YuMincho,'Yu Mincho',serif;
}

.ttl-ss-catch {
  font-size: 20px;
  line-height: 1.8;
  margin: 0 0 30px;
}

.ttl-ss-catch span {
  font-size: 22px;
}

.ss-catch-desc {
  font-size: 14px;
  line-height: 2.1;
}

.ss-internal-wrapper {
  margin: 30px 0 0;
}

.ss-price-wrapper {
  background: url(images/spa/bg-ss-price.png);
  padding: 48px 0;
}

.ss-price-inner h2,
.stay-price-wrapper h2,
.meal-menu-inner h2,
.about-facility-inner h2,
.about-price-inner h2 {
  color: #fff;
  background: #2f1f0c;
  padding: 20px;
  margin: 0 0 10px;
  letter-spacing: 5px;
  font-size: 24px;
}

.ss-price-inner h2:after,
.stay-price-wrapper h2:after,
.meal-menu-inner h2:after,
.about-facility-inner h2:after,
.about-price-inner h2:after {
  content: "";
  height: 1px;
  background: #82796d;
  border-bottom: solid 1px #d5d2ce;
  width: 20%;
  display: block;
  margin: 5px 0 0;
}

.ss-price-inner h2.ss-price-ttl {
  margin: 35px 0 10px;
}

.ss-price-inner h2.ss-price-ttl:after {
  width: 40%;
}

.ss-price-table-wrapper {
  background: #fff;
  padding: 15px 20px;
}

.ss-price-table-wrapper p,
.stay-price-wrapper p {
  font-size: 12px;
  margin: 0 0 10px 10px;
}

.ss-price-table {
  border-bottom: solid 2px #a9a7a5;
  margin: 0;
  border-spacing: 0;
  padding: 10px 0;
}

.ss-price-table th,
.ss-price-table td {
  font-weight: normal;
}

.ss-price-table th {
  font-size: 18px;
  background: #d7ab77;
}

.ss-price-table td {
  font-size: 16px;
  color: #2f1f0c;
}

.ss-price-table-quo th {
  background: none;
  padding: 0;
}

.ss-price-table-quo th .table-bg-gold {
  background: #d7ab77;
}

.ss-price-table-wrapper p.ss-price-p-first {
  margin: 25px 0 10px 10px;
}

.ss-price-table-top td {
  vertical-align: top;
}

.ss-detail-wrapper {
  padding: 35px 0 0;
}

.ss-detail-wrapper h2 span {
  font-size: 20px;
  margin: 0 25px 0 0;
  letter-spacing: 4px;
}

.riyouhuka{
	background:#CC0000;
	color:#FFF;
	text-align:center;
	margin-bottom:1rem;
	padding:0.5rem;	
	font-weight:bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
	letter-spacing:0.1em
}

.ss-detail-slide {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ss-detail-slide img {
  width: 100%;
}

.ss-detail-slide li {
  position: relative;
}

.ss-detail-wrapper .ss-detail-caption {
  background: rgba(23,23,23,0.8);
  position: absolute;
  bottom: 0;
  padding: 20px 40px;
  color: #fff;
  font-family: YuMincho,'Yu Mincho',serif;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.ss-detail-wrapper .ss-detail-caption h3 {
  font-size: 36px;
  background: none;
  padding: 0;
  margin: 0;
  letter-spacing: 15px;
}

.ss-detail-wrapper .ss-detail-caption h3 span {
  font-size: 18px;
  margin: 0 0 0 30px;
  letter-spacing: 5px;
}

.ss-detail-wrapper .ss-detail-caption ul {
  padding: 0;
  margin: 0;
}

.ss-detail-wrapper .ss-detail-caption li {
  font-size: 16px;
  line-height: 1.5;
  list-style: disc inside;
}

.ss-detail-wrapper h3 {
  color: #fff;
  background: #6d6254 url(images/spa/ico-ss-detail-ttl.png) no-repeat 20px 50%;
  padding: 12px 70px;
  margin: 20px 0 5px;
  font-family: YuMincho,'Yu Mincho',serif;
  font-weight: normal;
  letter-spacing: 5px;
}

.ss-detail-list {
  padding: 15px 20px;
  border-bottom: dotted 1px #b1aca5;
}

.ss-detail-list h4 {
  font-size: 16px;
  text-decoration: underline;
  margin: 0 0 12px;
}

.ss-detail-list p {
  font-size: 14px;
  color: #0d0904;
  margin: 0;
  padding: 0;
}

.indoor {
  margin: 30px 0 0;
}

/*--------------------------------------------------------------
## 御宿
--------------------------------------------------------------*/
.stay-catch-wrapper {
  background: url(images/stay/bg-stay-catch.png) no-repeat 0 0 / cover;
}

h2#salon:after {
  width: 50%;
}

h2#reservation {
  margin: 45px 0 10px;
}

h2#reservation:after {
  width: 30%;
}

.stay-salon-price th {
  width: 40%;
  background: none;
  vertical-align: top;
  padding: 0;
}

.ss-price-table th .th-bg-brown {
  background: #d7ab77;
  padding: 20px;
}

.bnr-stay-plan {
  margin: 10px 0 0;
}

.stay-detail-wrapper h2 span {
  margin: 0;
}

.ss-detail-catch {
  justify-content: space-between;
  font-size: 14px;
  color: #201609;
  margin: 10px 0 -10px;
}

.ss-detail-catch .font-green {
  color: #085727;
}

.stay-price-wrapper {
  padding: 50px 0;
}

.stay-price-wrapper h2:after {
  width: 80%;
}

.stay-price-wrapper h2 span {
  font-size: 18px;
}

.stay-price-table {
  margin: 30px 0;
  background: url(images/stay/bg-stay-price-table.png);
  border-collapse: collapse;
}

.stay-price-table caption {
  font-size: 18px;
  text-align: left;
  padding: 0 0 15px 25px;
}

.stay-price-table th,
.stay-price-table td {
  font-weight: normal;
  font-size: 16px;
  text-align: center;
  vertical-align: middle;
}

.stay-price-table th {
  background: #51412e;
  padding: 8px 0;
  border: solid 1px #51412e;
}

.stay-price-table td {
  color: #2f1f0c;
  border: solid 1px #51412e;
  padding: 6px;
}

.bdr-left {
  border-left: solid 1px #fff;
  padding: 15px 0;
}

.table-bg-green,
.table-bg-gold,
.table-bg-red,
.table-bg-purple,
.table-bg-emerald,
.table-bg-pink,
.table-bg-purple1,
.table-bg-purple2,
.table-bg-purple3,.table-bg-blue {
  color: #fff;
  padding: 20px;
}

.table-bg-green {
  background: #567e66;
}
.table-bg-blue {
  background: #6672a2;
}
.table-bg-gold {
  background: #c3ad7d;
}

.stay-price-table-nonpd {
  background: none;
}

.stay-price-table-nonpd td {
  padding: 0;
  background: url(images/stay/bg-stay-price-table.png);
}

/*--------------------------------------------------------------
## お食事
--------------------------------------------------------------*/
.meal-catch-wrapper {
  background: url(images/meal/bg-catch.png) no-repeat 0 0 / 100%;
  margin: 50px 0 0;
}

.meal-catch-cont {
  background: rgba(255,255,255,0.8);
  padding: 30px 50px;
  width: 50%;
}

.meal-catch-cont h3,
.meal-catch-cont p,
.meal-dinner-cont h3,
.meal-dinner-cont p,
.kurara-inner-card h3,
.kurara-inner-card p {
  color: #2f1f0c;
  font-family: YuMincho,'Yu Mincho',serif;
}

.meal-catch-cont h3 {
  font-size: 22px;
  margin: 0 0 20px;
  line-height: 1.6;
}

.meal-catch-cont p {
  margin: 0;
  font-size: 14px;
  line-height: 2;
}

.meal-menu-wrapper {
  padding: 45px 0;
  background: url(images/meal/bg-menu.png);
}

h2#localmenu:after {
  width: 55%;
}

.meal-menu-cont-wrapper {
  background: #fff;
  padding: 20px;
}

.meal-slide {
  margin: 0;
  padding: 0;
  position: relative;
}

.meal-caption {
  position: absolute;
  left: 0;
  bottom: 12px;
  width: 55%;
  padding: 20px;
  background: rgba(255,255,255,0.8);
  border: solid 1px #a3a5ab;
  font-family: YuMincho,'Yu Mincho',serif;
}

.meal-caption-mini {
  padding: 15px;
  width: 70%;
}

.meal-caption-mini1 {
  padding: 15px 40px;
}

.meal-caption h3 {
  font-size: 20px;
  margin: 0 0 15px;
  padding: 0;
  color: #2f1f0b;
}

.meal-caption-mini h3 {
  font-size: 16px;
  margin: 0 0 8px;
}

.meal-caption p {
  display: inline-block;
  text-align: left;
  font-size: 14px;
  color: #2f1f0b;
  line-height: 1.2;
  margin: 0;
}

.meal-caption-mini p {
  font-size: 12px;
}

.meal-localmenu-col {
  margin: 10px -5px 0;
}

.meal-localmenu-col .col {
  width: calc( (100%/2) - 10px );
  margin: 0 5px;
}

h2#dinner {
  margin: 40px 0 10px;
}

h2#dinner:after {
  width: 25%;
}

.meal-dinner-cont h3 {
  font-size: 18px;
  margin: 20px;
}

.meal-dinner-cont p {
  font-size: 14px;
  line-height: 2;
  margin: 0 20px;
}

.meal-dinner-cont p span {
  font-size: 12px;
}

.season-meal-info a {
  display: block;
  color: #fff;
  font-size: 16px;
  background: #dea655;
  border: solid 1px #dea655;
  padding: 20px;
  margin: 35px 0 0;
}

.season-meal-info a:hover {
  color: #dea655;
  background: #fff;
}

.meal-dinner-cont-wrapper {
  margin: 0 -12px;
}

.meal-dinner-cont-wrapper .col {
  width: calc( (100%/2) - 24px );
  margin: 0 12px;
}

#meal_post{
	width:1400px;
	max-width:90%;
	margin:2rem auto;	
}
.meal_post_box{
	padding:1rem 5%;
	overflow:hidden;
}
.meal_post_box h2{
    color: #fff;
    background: #2f1f0c;
    padding:1rem;
    margin: 0 0 10px;
    letter-spacing: 5px;
    font-size: 1.2rem;
}
.meal_post_box h2:after{
    content: "";
    height: 1px;
    background: #82796d;
    border-bottom: solid 1px #d5d2ce;
    width: 20%;
    display: block;
    margin: 5px 0 0;
}
.meal_post_box dl{
	width:25%;
	float:left;
	padding:0 1rem;
}
.meal_post_box dd{
	margin:0.5rem auto 0;
}
.meal_post_box dd h4{
	margin:0 auto;
	line-height:1.3;	
}
.meal_post_box dd p{
	margin-top:0.5rem;
	line-height:1.3;
}
.meal_post_box dd a{
	margin:0.5rem auto 0;
	display:block;
	background: #cea959;
	width:200px;
	max-width:100%;
	text-align:center;
	color:#FFF;
	padding:0.5rem;
}
.meal_news{
	background:#FFF;
	padding:0.5rem;
}

.kurara-inner-cont-first img {
  display: none;
}

.kurara-inner-cont-first {
  background: url(images/meal/kurara.png) no-repeat 0 0 / cover;
}

.kurara-inner-cont-second {
  background: url(images/meal/bg-kurara.png);
  padding: 30px;
}

.kurara-inner-card {
  background: #fff;
  margin: 0 0 0 -90px;
  padding: 30px 60px;
}

.kurara-inner-card h3 {
  margin: 0 0 20px;
}

.kurara-inner-card p {
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
}

.kurara-inner-card hr {
  background-color: #dad8d7;
  border: 0;
  height: 1px;
  margin: 20px 0;
  box-shadow: 0 1px 0 #a8a6a2;
}

.kurara-table {
  margin: 0;
  padding: 0;
  border-collapse: collapse;
}

.kurara-table td {
  padding: 0;
  color: #2f1f0b;
  font-weight: normal;
}

.kurara-table .table-bg-gold,
.kurara-table .table-bg-purple,
.kurara-table .table-bg-red {
  color: #fff;
  text-align: center;
  padding: 12px;
  margin: 0 20px 0 0;
}

.kurara-table .table-bg-gold {
  background: #d7ab77;
}

.kurara-table .table-bg-purple {
  background: #4a386b;
}

.kurara-table .table-bg-red {
  background: #a65552;
  margin: 0 20px;
}

.kurara-table .kurara-mini {
  font-size: 12px;
}

.kurara-inner-card h4 {
  font-size: 16px;
  font-weight: normal;
  color: #2f1f0b;
  margin: 20px 0;
  position: relative;
}

.kurara-inner-card h4:before {
  content: "";
  display: block;
  border-top: solid 1px #dad8d7;
  box-shadow: 0 1px 0 #a8a6a2;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  z-index: 1;
}
 
.kurara-inner-card h4 span {
  background: #fff;
  padding: 0 20px;
  position: relative;
  z-index: 5;
}

/*--------------------------------------------------------------
## 館内施設
--------------------------------------------------------------*/
.facility-catch-wrapper {
  background: url(images/facility/bg-facility-catch.png) no-repeat 0 0 / cover;
  padding: 50px 0 90px;
}

.facility-catch-wrapper h3 {
  font-size: 20px;
  color: #fff;
  margin: 0 0 50px;
  font-family: YuMincho,'Yu Mincho',serif;
}

.facility-catch-wrapper p {
  font-size: 16px;
  color: #fff;
  margin: 0;
  line-height: 1.8;
  font-family: YuMincho,'Yu Mincho',serif;
}

.facility-slide-wrapper {
  padding: 40px 0 60px;
}

.facility-slide-wrapper h3 {
  color: #fff;
  background: #2f1f0c;
  padding: 15px 20px;
  margin: 40px 0 10px;
  letter-spacing: 5px;
  font-size: 20px;
  font-family: YuMincho,'Yu Mincho',serif;
}

.facility-slide-wrapper h3 span {
  font-size: 16px;
  letter-spacing: 2px;
}

.facility-table {
  border-top: solid 2px #a9a7a5;
}

.facility-table th {
  background: none;
  padding: 0;
  width: 25%;
  font-size: 16px;
}

.facility-table td {
  font-size: 14px;
}

.facility-table .table-bg-gold {
  background: #cea959;
}

.facility-table-mini {
  display: inline;
  font-size: 12px;
}

.facility-table .table-bg-pink {
  background: #e0807e;
}

.facility-table .table-bg-emerald {
  background: #5ea179;
}

.facility-table .table-bg-green {
  background: #1d5e35;
}

.facility-table .table-bg-red {
  background: #a65553;
}

.facility-table .table-bg-purple1 {
  background: #ad8fe3;
}

.facility-table .table-bg-purple2 {
  background: #785ea8;
}

.facility-table .table-bg-purple3 {
  background: #4a386a;
}

.facility-table-second {
  border-top: none;
}

.facility-snack-wrapper,
.facility-break-wrapper {
  background: url(images/facility/bg-texture.png);
}

.facility-catch-wrapper#snack {
  background: url(images/facility/bg-snack-catch.png) no-repeat 0 0 / cover;
}

.facility-catch-wrapper#snack h3 {
  color: #171717;
}

.facility-catch-wrapper#snack p {
  color: #1d1105;
}

.facility-clinic-wrapper h2,
.facility-break-wrapper h2,
.facility-shop-wrapper h2 {
  font-size: 24px;
  color: #2f1f0c;
  margin: 20px 0 40px;
  letter-spacing: 5px;
}

.facility-clinic-wrapper h2 span,
.facility-break-wrapper h2 span,
.facility-shop-wrapper h2 span {
  font-size: 20px;
}

/*--------------------------------------------------------------
## FAQ
--------------------------------------------------------------*/
.archive.post-type-archive-faq {
  background: #f5f5f5;
}

.faq-content-area {
  background: url(images/faq/bg-faq.png);
  position: relative;
  padding: 75px 0 0;
  overflow: hidden;
}

.faq-bottom {
  position: absolute;
  right: 0;
  bottom: 20px;
  width: 32%;
}

.archives-faq-cont {
  border-bottom: solid 2px #2f1f0c;
  margin: 0 0 40px;
  padding: 0 0 10px;
}

.archives-faq-q {
  background: url(images/faq/faq-arrow.png) no-repeat 99% 48%;
  cursor: pointer;
}

.archives-faq-q.faq-open {
  border-bottom: dotted 1px #c1bcb7;
  background: url(images/faq/faq-arrow-open.png) no-repeat 99% 48%;
  padding: 0 0 10px;
}

.archives-faq-q,
.archives-faq-a {
  display: table;
}

.archives-faq-a {
  display: none;
}

.faq-q-cont,
.faq-a-cont {
  display: table-cell;
  width: 100%;
  font-size: 15px;
  color: #010100;
}

.faq-a-cont {
  padding: 12px 60px 10px 0;
  line-height: 1.8;
}

.ico-faq-q,
.ico-faq-a {
  font-size: 22px;
  display: table-cell;
  padding: 0 14px 10px 24px;
}

.ico-faq-q {
  color: #ccac66;
}

.ico-faq-a {
  color: #a65551;
}

.faq-a-cont p {
  margin: 0;
}

/*--------------------------------------------------------------
## 個人情報保護方針
--------------------------------------------------------------*/
.privacypolicy-wrapper {
  background: url(images/privacy/bg-privacy.png);
  padding: 50px 0;
}

.privacypolicy-inner h2 {
  font-size: 24px;
  letter-spacing: 5px;
  margin: 0 0 25px;
}

.privacypolicy-inner-cont {
  background: #fff url(images/privacy/bg-privacy-inner.png) no-repeat 100% 100% / 60%;
  position: relative;
  padding: 40px 60px;
}

.privacypolicy-inner-cont h3 {
  color: #1e1307;
  font-size: 14px;
  margin: 40px 0 20px;
}

.privacypolicy-inner-cont p {
  margin: 0;
  line-height: 1.5;
  color: #1e1307;
  font-size: 14px;
}

.privacypolicy-inner-cont p.privacypolicy-first {
  font-size: 16px;
}

.privacypolicy-inquiry {
  color: #1a1a1a;
  font-size: 14px;
  line-height: 1.4;
  margin: 40px 0 0 auto;
  width: 300px;
}

/*--------------------------------------------------------------
## 記事一覧
--------------------------------------------------------------*/
.content-archive-area {
  overflow: hidden;
  width: 85%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.archives-header h2 {
  font-size: 24px;
  margin: 50px 0 35px;
  letter-spacing: 5px;
}

.archives-inner {
  border-top: solid 5px #2f1f0c;
  border-bottom: solid 2px #2f1f0c;
  padding: 14px 0;
  margin: 0 0 28px;
}

.archives-cont-wrapper {
  background: url(images/common/bg-archives.png);
  padding: 20px 15px;
}

.archives-cont-wrapper .single-meta {
  margin: 0 0 10px;
}

.archives-cont-wrapper h3 {
  font-size: 15px;
  font-weight: normal;
  letter-spacing: 3px;
  border-left: solid 8px #ccac66;
  border-bottom: solid 2px #564a3a;
  padding: 4px 12px;
  margin: 0 0 15px;
}

.archives-excerpt {
  font-size: 13px;
  line-height: 1.7;
  color: #080502;
}

.archives-left {
  flex-basis: 58%;
  padding: 0 20px 0 0;
}

.archives-right {
  flex-basis: 42%;
}

.archives-more a {
  color: #fff;
  font-size: 13px;
  padding: 10px;
  background: #ccac66;
  border: solid 1px #ccac66;
  width: 180px;
  margin: 10px 0 0 auto;
  display: block;
}

.archives-more a:hover {
  background: #fff;
  color: #ccac66;
}

.archives-nav {
  margin: 45px 0 10px;
}

.page-numbers {
  margin: 0 12px 0 0;
  color: #584a3c;
}

.page-numbers.current {
  padding: 5px 12px;
  margin: 0 5px 0 0;
  background: #584a3c;
  color: #fff;
  text-decoration: none;
}

.page-numbers.next,
.page-numbers.prev {
  display: none;
}

/*--------------------------------------------------------------
## 記事詳細
--------------------------------------------------------------*/
.content-single-area {
  width: 85%;
  margin: 0 auto;
  padding: 50px 0 0;
  overflow: hidden;
}

.site-main {
  float: left;
  width: 70%;
}

.single-sidebar {
  float: right;
  width: 28%;
}

.single-cont-wrapper {
  border-top: solid 5px #2f1f0c;
  border-bottom: solid 3px #2f1f0c;
  padding: 15px 0;
}

.single-cont {
  background: url(images/common/bg-single.png);
  padding: 20px 30px 45px;
}

.single-meta {
  justify-content: space-between;
}

h1.single-entry-title {
  font-size: 20px;
  color: #080502;
  letter-spacing: 5px;
  border-left: solid 8px #ccac66;
  border-bottom: solid 2px #2f1f0c;
  padding: 5px 0 5px 12px;
  margin: 0 0 20px;
}

.single-meta {
  margin: 0 0 30px;
}

.single-date {
  font-size: 12px;
  color: #080502;
  font-weight: bold;
}

.single-cat,
.single-cat a {
  font-size: 12px;
  font-weight: bold;
  color: #ccac66;
}

.single-cont h2 {
  font-size: 20px;
  color: #1f1f1f;
  padding: 0 0 12px;
  margin: 30px 0 15px;
  border-bottom: 4px solid #9d9d9d;
  letter-spacing: 5px;
  position: relative;
  font-weight: normal;
}

.single-cont h2:after {
  content: "";
  line-height: 0;
  display: block;
  overflow: hidden;
  position: absolute;
  bottom: -4px;
  width: 15%;
  border-bottom: 4px solid #557d64;
}

.single-cont h3 {
  margin: 30px 0 15px;
  font-size: 16px;
  font-weight: normal;
  color: #1f1f1f;
  padding: 0 0 10px;
  position: relative;
}

.single-cont h3:after {
  content: "";
  line-height: 0;
  display: block;
  overflow: hidden;
  position: absolute;
  bottom: -4px;
  width: 15%;
  border-bottom: 4px solid #493667;
}

.single-cont h4 {
  margin: 30px 0 15px;
  font-size: 18px;
  font-weight: normal;
  color: #fff;
  background: #584531;
  padding: 14px 6px;
}

.single-cont h5 {
  margin: 30px 0 15px;
  font-size: 18px;
  font-family: YuMincho,'Yu Mincho',serif;
  color: #202020;
}

.single-cont h5:before{
  content: "▶";
  color: #a65451;
  margin: 0 8px 0 0;
}

.single-cont h6 {
  margin: 30px 0 15px;
  font-size: 16px;
  font-weight: normal;
  color: #202020;
}

.single-cont h6:before{
  content: "●";
  color: #ccac68;
  margin: 0 8px 0 0;
}

.single-cont p {
  color: #1f1f1f;
  font-size: 14px;
  line-height: 1.3;
}

.single-navigation {
  margin: 40px 0 0;
  justify-content: center;
}

.single-navigation a {
  display: block;
  padding: 18px 60px;
  color: #fff;
  background: #ccac66;
  border: solid 1px #ccac66;
  font-size: 16px;
}

.single-navigation a:hover {
  color: #ccac66;
  background: #fff;
}

.single-navigation .next a:before {
  content: "≪";
  position: relative;
  left: -15px;
}

.single-navigation .prev a:after {
  content: "≫";
  position: relative;
  right: -15px;
}

.single-navigation .col + .col {
  margin: 0 0 0 100px;
}

/*--------------------------------------------------------------
## 404ページ
--------------------------------------------------------------*/
.notfound-list {
  font-size: 16px;
  margin: 20px;
  padding: 15px;
}

.search-form-wrapper input[type="search"] {
  width: 80%;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

embed,
iframe,
object {
  max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

@media screen and (max-width: 1600px) {
#meal_post {
    max-width: 100%;
}
.meal_post_box {
    padding: 1rem 2.5%;
}
}

/*--------------------------------------------------------------
# Break Point
--------------------------------------------------------------*/
@media screen and (max-width: 1500px) {

  /*--------------------------------------------------------------
  # お食事
  --------------------------------------------------------------*/
  .meal-catch-wrapper {
    background: url(images/meal/bg-catch.png) no-repeat 0 0 / cover;
  }

  .meal-catch-cont {
    padding: 20px 30px;
    width: 60%;
  }

  .meal-catch-cont h3 {
    font-size: 20px;
    margin: 0 0 10px;
  }

  .meal-catch-cont p {
    font-size: 13px;
    line-height: 1.8;
  }

  .meal-dinner-cont h3 {
    margin: 10px;
  }

  .meal-dinner-cont p {
    font-size: 14px;
    line-height: 1.8;
    margin: 0 10px;
  }

  .season-meal-info a {
    font-size: 15px;
    padding: 15px;
    margin: 20px 0 0;
  }

  .kurara-inner-cont-second {
    padding: 20px;
  }

  .kurara-inner-card {
    background: #fff;
    margin: 0 0 0 -100px;
    padding: 25px 15px;
  }

  .kurara-inner-card h4 {
    font-size: 15px;
  }

  .kurara-table td {
    font-size: 14px;
  }

}/* max-width: 1500px */

@media screen and (max-width: 1400px) {
.meal_post_box dl {
    width: 33.333333333%;
}
}

@media screen and (max-width: 1200px) {
  
  .main-wrapper {
    width: 90%;
  }
  
  /*コロナ関連*/

#corona .corona_box h4{
	font-size:1rem;	
}

  /*--------------------------------------------------------------
  # 南阿蘇観光
  --------------------------------------------------------------*/
  .guide-card-table {
    width: 96%;
  }

  .guide-cont-card h3 {
    font-size: 18px;
    margin: 20px 0 15px;
  }

  .guide-cont-card p {
    margin: 0 0 0 4%;
    font-size: 12px;
    line-height: 1.5;
  }

  .guide-card-table th,
  .guide-card-table td {
    font-size: 12px;
  }

  /*--------------------------------------------------------------
  # 温泉
  --------------------------------------------------------------*/
  .ss-price-table th {
    font-size: 16px;
  }

  .ss-price-table td {
    font-size: 14px;
  }

}/* max-width: 1200px */

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

  .row { flex-wrap: wrap; }
  .row-tb-1 > .col { width: 100%; margin: 0 0 20px; }
  .row-tb-2 > .col { width: calc( (100% / 2) ); }
  .row-tb-3 > .col { width: calc( (100% / 3) ); }
  .row-tb-4 > .col { width: calc( (100% / 4) ); }

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

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

  .rwd {
    position: relative;
    margin: 20px 0;
    padding-bottom: 56.25%;
    padding-top: 30px;
    overflow: hidden;
    max-width: 100%;
    height: auto;
  }

  .rwd iframe,
  .rwd object,
  .rwd embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  th,
  td {
    padding: 10px 20px;
  }

  .site {
    width: 100%;
    overflow: visible;
  }

  .sidebar {
    display: none;
  }

  .site-content {
    float: none;
    width: 100%;
    position: relative;
    overflow: hidden;
    margin: 0;
  }

  /*--------------------------------------------------------------
  # サイト閉鎖ポップアップ(20240320追加)
  --------------------------------------------------------------*/
  .popUp__inner{
    max-width: 75%;
  }

  /*--------------------------------------------------------------
  # ヘッダー
  --------------------------------------------------------------*/
  .sp-head-wrapper {
    position: sticky;
    display: block;
    width: 100%;
    background: #31200D;
    top: 0;
    z-index: 999;
  }

  .sp-logo {
    padding: 20px;
  }

  .menu-trigger {
    position: absolute;
    top: 45px;
    right: 5%;
    transition: all .3s;
  }

  .menu-trigger span {
    width: 100%;
    width: 40px;
    height: 5px;
    background-color: #fff;
    display: block;
    transition: all .3s;
    border-radius: 10px;
  }

  .menu-trigger span:nth-of-type(1) {
    margin: 5px 0 0;
  }

  .menu-trigger span:nth-of-type(2) {
    margin: 8px auto 0;
    width: 35px;
  }

  .menu-trigger span:nth-of-type(3) {
    margin: 8px 0;
  }

  .menu-trigger.active span:nth-of-type(1) {
    transform: translateY(10px) rotate(-315deg);
  }

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

  .menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-15px) rotate(315deg);
  }

  .sp-menu {
    display: none;
    margin: 0;
    padding: 0;
    position: relative;
  }

  .sp-menu li {
    border-left: none;
    border-top: solid 1px #fff;
    position: relative;
    list-style: none;
  }

  .sp-menu a {
    display: block;
    width: 100%;
    color: #fff;
    padding: 15px 25px;
    background: #31200D;
    font-size: 14px;
    text-decoration: none;
  }

  .sp-menu a:hover {
    background: none;
  }

  .sp-menu .sub-menu {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .sp-menu .sub-menu a {
    padding: 15px 35px;
    background: #3c2207;
  }

  /*--------------------------------------------------------------
  # フッター
  --------------------------------------------------------------*/
  .sitemap-inner .col {
    margin: 0 0 20px;
  }

  .ft-meta1,
  .ft-meta2,
  .ft-meta3 {
    flex-basis: 100%;
    text-align: center;
  }

  /*--------------------------------------------------------------
  # サイドバー
  --------------------------------------------------------------*/
  .single-sidebar {
    float: none;
    width: 100%;
    margin: 50px 0 0;
  }

  .widget h2 {
    font-size: 18px;
  }

  /*--------------------------------------------------------------
  # トップページ
  --------------------------------------------------------------*/
  /* あいさつ */
  .top-greeting-wrapper {
    padding: 50px 0 300px;
  }

  .top-greeting-inner {
    width: 80%;
  }

  /* サブメニュー */
  .top-submenu-inner img {
    width: 100%;
  }

  /* 最新情報 */
  .news-list {
    padding: 10px 0;
  }
  
  .news-list-title {
    flex-basis: 100%;
    margin: 15px 0 0;
  }

  .news-list-cat a {
    margin: 0 0 0 -40px;
    width: 130px;
    text-align: center;
  }

  /* 営業日 */
  .top-calendar-left,
  .top-calendar-right {
    flex-basis: 100%;
    padding: 0;
  }

  /*--------------------------------------------------------------
  # アクセス
  --------------------------------------------------------------*/
  .access-location-address {
    width: 50%;
  }

  /*--------------------------------------------------------------
  # 南阿蘇観光
  --------------------------------------------------------------*/
  #guide-shop .guide-cont-inner {
    flex-direction: column-reverse;
  }

  .guide-cont-card p {
    margin: 0 6%;
  }

  .guide-card-table {
    width: 90%;
  }

  /*--------------------------------------------------------------
  # お食事
  --------------------------------------------------------------*/
  .meal-catch-cont {
    width: 75%;
  }

  .kurara-inner-cont-first {
    background: none;
  }

  .kurara-inner-cont-first img {
    display: block;
    width: 100%;
  }

  .kurara-inner .col {
    margin: 0;
  }

  .kurara-inner-card {
    margin: 0;
    padding: 20px;
  }

  /*--------------------------------------------------------------
  # 記事一覧
  --------------------------------------------------------------*/
  .archives-cont {
    flex-wrap: nowrap;
  }

  /*--------------------------------------------------------------
  # 記事詳細
  --------------------------------------------------------------*/
  .site-main {
    float: none;
    width: 100%;
    clear: both;
  }

  .entry-content {
    margin: 0;
    padding: 0 0 30px;
  }

}/* max-width: 1024px */


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

  th,
  td {
    padding: 5px 10px;
  }

  th {
    width: 30%;
  }

  h2 {
    font-size: 24px;
  }

  h3 {
    font-size: 20px;
  }

  .row-sp-1 > .col { width: 100%; margin: 0 0 20px; }
  .row-sp-2 > .col { width: calc( (100% / 2) ); }
  .row-sp-3 > .col { width: calc( (100% / 3) ); }
  .row-sp-4 > .col { width: calc( (100% / 4) ); }

  .table-scroll {
    width: 100%;
    overflow-y: hidden;
    overflow-x: auto;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    margin: 0 0 20px;
  }
 
  .table-scroll th,
  .table-scroll td{
    white-space: nowrap;
    display: table-cell !important;
  }

  .table-scroll::-webkit-scrollbar {
    height: 5px;
  }

  .table-scroll::-webkit-scrollbar-thumb {
    background: #aaa;
  }

  .table-scroll::-webkit-scrollbar-track {
    background: #ccc;
  }

    /*--------------------------------------------------------------
  # サイト閉鎖ポップアップ(20240320追加)
  --------------------------------------------------------------*/
  .popUp__inner{
    max-width: 90%;
    font-size: 14px;
  }

  /*--------------------------------------------------------------
  # ヘッダー
  --------------------------------------------------------------*/
  .sp-logo {
    padding: 15px;
  }

  .sp-logo img {
    width: 20%;
  }

  .menu-trigger {
    top: 22px;
  }

  /*--------------------------------------------------------------
  # フッター
  --------------------------------------------------------------*/
  footer {
    margin: 60px 0 0;
  }

  .sitemap-cont {
    padding: 30px 0 60px;
  }

  .sitemap-inner.row-sp-2 .col {
    width: calc( (100%/2) - 20px );
    margin: 0 10px 20px;
  }

  .ft-meta-wrapper {
    padding: 40px 0;
  }

  /*--------------------------------------------------------------
  # トップページ
  --------------------------------------------------------------*/
  /* あいさつ */
  .top-greeting-wrapper {
    padding: 30px 0 200px;
  }

  .top-greeting-inner h2 {
    font-size: 36px;
  }

  .top-greeting-inner h2 span {
    font-size: 24px;
  }

  .top-greeting-inner {
    width: 90%;
  }

  .top-greeting-inner p {
    margin: 0 0 25px;
    font-size: 15px;
    line-height: 1.8;
  }

  .top-greeting-inner p span {
    font-size: 18px;
  }

  .top-greeting-inner p br {
    display: none;
  }

  .top-greeting-inner .tright {
    text-align: center;
  }

  /* サブメニュー */
  .top-submenu-wrapper {
    padding: 15px 15px 50px;
  }

  /* 最新情報 */
  .top-news-wrapper {
    padding: 30px 0 60px;
  }

  .news-list-wrapper {
    padding: 20px;
  }

  /* 営業日 */
  .top-calendar-desc {
    padding: 20px;
  }

  /*--------------------------------------------------------------
  # 瑠璃について
  --------------------------------------------------------------*/
  .about-catch-wrapper {
    margin: 30px 0 0;
  }

  .about-catch-inner-left {
    background: none;
  }

  .about-catch-inner-left img {
    display: block;
  }

  .about-catch .col {
    margin: 0;
  }

  .about-catch-inner-right {
    padding: 25px;
  }

  .about-catch-inner-right h3 {
    font-size: 18px;
    margin: 0 0 20px;
  }

  .about-catch-inner-right p {
    line-height: 1.6;
  }

  .about-facility-inner .table-bg-green,
  .about-facility-inner .table-bg-purple {
    padding: 20px;
  }

  .about-price-inner h2#about-price-bath,
  .about-price-inner h2#about-price-stay {
    font-size: 20px;
  }

  .about-price-inner h2#about-price-bath:after,
  .about-price-inner h2#about-price-stay:after {
    width: 70%;
  }

  .about-price-bottom {
    display: none;
  }

  .about-price-sp-cont {
    display: block;
  }

  .about-price-sp-cont p {
    margin: 20px 0 0;
    font-size: 12px;
    line-height: 1.5;
  }

  .about-price-table th,
  .about-price-table td {
    display: block;
    width: 100%;
  }

  .about-price-table th {
    border-top: none;
  }

  .about-price-table td {
    padding: 10px 5px;
    border-top: none;
    border-bottom: none;
  }

  .about-price-table td:last-child {
    border-bottom: solid 2px #51412e;
  }

  /*--------------------------------------------------------------
  # アクセス
  --------------------------------------------------------------*/
  .access-location-wrapper {
    padding: 40px 0;
  }

  .access-location-inner {
    padding: 30px 0;
  }

  .access-googlemap-wrapper h2,
  .access-traffic-wrapper h2 {
    margin: 30px 0;
  }

  .access-location-address {
    width: 100%;
    font-size: 18px;
    text-align: center;
  }

  .access-location-tel,
  .access-location-contact {
    font-size: 15px;
  }

  .access-location-tel {
    margin: 15px 0;
  }

  .access-location-tel span {
    font-size: 18px;
  }

  .access-traffic-inner1 {
    display: none;
  }

  /*--------------------------------------------------------------
  # 南阿蘇観光
  --------------------------------------------------------------*/
  .guide-catch-wrapper {
    padding: 40px 0;
  }

  .guide-catch-wrapper h3 {
    font-size: 18px;
    line-height: 1.5;
    margin: 0 0 15px;
  }

  .guide-catch-wrapper p {
    font-size: 13px;
    line-height: 1.8;
  }

  .guide-cont-inner .col {
    margin: 0;
  }

  .guide-cont-card hr {
    margin: 15px auto;
  }

  .guide-cont-card p br {
    display: none;
  }

  /*--------------------------------------------------------------
  # 温泉
  --------------------------------------------------------------*/
  .ss-jump-wrapper {
    padding: 15px 0;
  }

  .spa-jump .col {
    text-align: center;
    margin: 0 0 10px;
  }

  .spa-jump .col + .col {
    margin: 0;
  }

  .ss-catch-wrapper {
    padding: 30px 10px;
  }

  .ttl-ss-catch {
    font-size: 18px;
    line-height: 1.6;
    margin: 0 0 20px;
  }

  .ttl-ss-catch span {
    font-size: 20px;
  }

  .ss-catch-desc {
    line-height: 1.8;
  }

  .ss-internal-inner .col {
    margin: 0;
  }

  .ss-price-inner h2,
  .stay-price-wrapper h2 {
    font-size: 20px;
  }

  .ss-price-inner h2 {
    padding: 15px;
  }

  .ss-price-inner h2:after,
  .ss-price-inner h2.ss-price-ttl:after,
  .about-facility-inner h2:after {
    width: 100%;
  }

  .ss-price-table-wrapper {
    padding: 15px;
  }

  .ss-price-table th,
  .ss-price-table td {
    display: block;
  }

  .ss-price-table th {
    width: 100%;
    padding: 20px;
  }

  .ss-price-table-quo th {
    padding: 0;
  }

  .ss-price-table td {
    padding: 10px 5px;
  }

  .ss-price-table td br {
    display: none;
  }

  .ss-price-table-wrapper p,
  .stay-price-wrapper p {
    line-height: 1.2;
  }

  .ss-detail-wrapper h3 {
    background: #6d6254 url(images/spa/ico-ss-detail-ttl.png) no-repeat 15px 50%;
    padding: 10px 10px 10px 60px;
  }

  .ss-detail-list {
    padding: 15px;
  }

  .ss-detail-list p {
    line-height: 1.3;
  }

  .indoor {
    text-align: center;
  }

  /*--------------------------------------------------------------
  # 御宿
  --------------------------------------------------------------*/
  .stay-jump .col + .col {
    margin: 10px 0;
  }

  .stay-price-table-onbr td br {
    display: block;
  }

  .stay-price-wrapper h2:after,
  h2#salon:after,
  h2#reservation:after,
  h2#localmenu:after,
  h2#dinner:after {
    width: 100%;
  }

  .ss-detail-catch {
    text-align: center;
    line-height: 1.3;
  }

  .ss-detail-catch.row-sp-1 .col {
    margin: 0;
  }

  .stay-price-table {
    margin: 30px 0 5px;
  }

  .ss-price-table {
    padding: 10px 0 0; 
  }

  .ss-detail-wrapper .ss-detail-caption {
    padding: 10px 20px;
  }

  .ss-detail-wrapper .ss-detail-caption h3 {
    font-size: 15px;
    letter-spacing: 3px;
  }

  .ss-detail-wrapper .ss-detail-caption h3 span {
    font-size: 15px;
    letter-spacing: 3px;
  }

  .ss-detail-wrapper .ss-detail-caption h3 span {
    font-size: 12px;
    margin: 0 0 0 10px;
    letter-spacing: 0px;
  }

  .ss-detail-wrapper .ss-detail-caption li {
    font-size: 10px;
    line-height: 1.3;
  }

  .ss-detail-caption-left {
    flex-basis: 52%;
    padding: 0 8px 0 0;
  }

  /*--------------------------------------------------------------
  # お食事
  --------------------------------------------------------------*/
  .meal-catch-wrapper {
    margin: 30px 0 0;
  }

  .meal-catch-cont {
    width: 100%;
    padding: 15px;
    text-align: center;
  }

  .meal-caption {
    bottom: 8px;
    width: 100%;
    padding: 10px;
  }

  .meal-caption h3 {
    font-size: 14px;
    margin: 0 0 5px;
  }

  .meal-caption p {
    font-size: 10px;
  }

  .meal-caption-mini1,
  .meal-caption-mini2 {
    padding: 10px;
    width: 100%;
  }

  .meal-caption-mini h3 {
    font-size: 14px;
    margin: 0 0 5px;
  }

  .meal-caption-mini p {
    font-size: 10px;
  }

  .meal-dinner-cont h3 {
    margin: 10px 0;
  }

  .meal-dinner-cont p {
    margin: 0;
  }

  .meal-menu-cont-wrapper {
    padding: 10px;
  }

  .meal-dinner-cont-wrapper,
  .meal-localmenu-col {
    margin: 0;
  }

  .meal-localmenu-col.row-sp-1 .col {
    margin: 10px 0;
  }

  .meal-localmenu-col.row-sp-1 .col + .col {
    margin: 0;
  }

  .kurara-table td {
    display: block;
    text-align: center;
  }

  .kurara-table .table-bg-gold,
  .kurara-table .table-bg-purple {
    margin: 0 0 15px;
  }

  .kurara-table .table-bg-red {
    margin: 15px 0;
  }

  .kurara-img .col {
    margin: 0 0 -2px;
  }
  .meal_post_box dl {
    width: 100%;
	}

  /*--------------------------------------------------------------
  # 館内施設
  --------------------------------------------------------------*/
  .facility-catch-wrapper {
    padding: 40px 10px;
  }

  .facility-catch-wrapper h3 {
    font-size: 18px;
    margin: 0 0 20px;
  }

  .facility-catch-wrapper p {
    font-size: 14px;
    line-height: 1.5;
  }

  .facility-slide-wrapper {
    padding: 30px 0;
  }

  .facility-slide-wrapper h3 {
    padding: 15px;
    margin: 20px 0 10px;
    letter-spacing: 3px;
    font-size: 18px;
  }

  .facility-table th {
    padding: 0;
  }

  .facility-clinic-wrapper h2,
  .facility-break-wrapper h2,
  .facility-shop-wrapper h2 {
    font-size: 20px;
    margin: 0 0 30px;
    letter-spacing: 3px;
  }

  .facility-clinic-wrapper h2 span,
  .facility-break-wrapper h2 span,
  .facility-shop-wrapper h2 span {
    font-size: 16px;
  }

  /*--------------------------------------------------------------
  # FAQ
  --------------------------------------------------------------*/
  .faq-content-area {
    padding: 30px 0 0;
  }

  .ico-faq-q,
  .ico-faq-a {
    font-size: 18px;
    padding: 0 10px 10px 5px;
  }

  .faq-q-cont {
    padding: 0 20px 0 0;
  }

  .faq-a-cont {
    padding: 10px 0;
    line-height: 1.6;
  }

  /*--------------------------------------------------------------
  # 個人情報保護方針
  --------------------------------------------------------------*/
  .privacypolicy-wrapper {
    padding: 30px 0;
  }

  .privacypolicy-inner h2 {
    font-size: 20px;
  }

  .privacypolicy-inner-cont {
    padding: 20px;
  }

  .privacypolicy-inquiry {
    margin: 40px 0 0;
    width: auto;
  }

  /*--------------------------------------------------------------
  # 記事一覧
  --------------------------------------------------------------*/
  .archives-header h2 {
    font-size: 18px;
    margin: 30px 10px;
    letter-spacing: 5px;
  }

  .archives-cont {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }

  .archives-left,
  .archives-right {
    flex-basis: 100%;
    padding: 0;
  }

  .archives-right {
    margin: 0 0 20px;
  }

  .archives-more a {
    margin: 15px auto 0;
  }

  .archives-nav {
    text-align: center;
  }

  /*--------------------------------------------------------------
  # 記事詳細
  --------------------------------------------------------------*/
  .content-single-area {
    width: 90%;
    padding: 30px 0 0;
  }

  .single-cont {
    padding: 20px 20px 30px;
  }

  h1.single-entry-title {
    font-size: 18px;
    letter-spacing: 3px;
    border-left: solid 6px #ccac66;
    padding: 5px 0 5px 10px;
  }

  .single-cont h2 {
    font-size: 18px;
    padding: 0 0 10px;
    border-bottom: 3px solid #9d9d9d;
    letter-spacing: 3px;
  }

  .single-cont h2:after {
    bottom: -3px;
    width: 25%;
    border-bottom: 3px solid #557d64;
  }

  .single-cont h3:after {
    bottom: -3px;
    width: 25%;
    border-bottom: 3px solid #493667;
  }

  .single-cont h4 {
    font-size: 16px;
    padding: 10px 8px;
  }

  .single-cont h5 {
    font-size: 16px;
  }

  .single-cont h5:before {
    margin: 0 5px 0 0;
  }

  .single-cont h6 {
    font-size: 14px;
  }

  .single-navigation a {
    text-align: center;
  }

  .single-navigation .col + .col {
    margin: 0;
  }

}/* max-width: 667px */