@charset "UTF-8";
/*----------------------------------------------------
Reset
----------------------------------------------------*/
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

/*
 * Corrects `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/*
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Addresses styling for `hidden` attribute not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -ms-text-size-adjust: 100%; /* 2 */
}

/*
 * Removes default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */
/*
 * Improves readability when focused and also mouse hovered in all browsers.
 */
/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
 * Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
}

/*
 * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/*
 * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/*
 * Addresses styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/*
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/*
 * Corrects font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * Sets consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/*
 * Addresses inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.1em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/*
 * Removes border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/*
 * Corrects overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Addresses margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/*
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Corrects color not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/*
 * 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
 */
button,
input,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 2 */
  margin: 0; /* 3 */
}

/*
 * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/*
 * Re-set default cursor for disabled elements.
 */
button[disabled],
input[disabled] {
  cursor: default;
}

/*
 * 1. Addresses box sizing set to `content-box` in IE 8/9.
 * 2. Removes excess padding in IE 8/9.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/*
 * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */ /* 2 */
  box-sizing: content-box;
}

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Removes inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers.
 */
textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
ul,
ol,
li,
dl,
dt,
dd,
p,
img {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  color: #444;
  font-family: "Crimson Text", Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 16px;
  font-size: 1.6rem;
  /* sets the default sizing to make sure nothing is actually 10px */
  line-height: 1;
  /*! min-width:1200px; */
  /*
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  */
}

/*
@media only screen and (max-width: 850px) {
	body{
		font-family: "游ゴシック";
	}
}
*/
body * {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

a,
a:link,
a:hover,
a:focus {
  color: #333;
  text-decoration: none;
  cursor: pointer;
  outline: none;
  transition: all 0.3s ease-in-out;
}

ul,
ol {
  list-style-type: none;
}

::-moz-selection {
  background-color: #9f864c;
  color: #fff;
  /* Safari */
}

::selection {
  background-color: #9f864c;
  color: #fff;
  /* Safari */
}

::-moz-selection {
  background-color: #9f864c;
  color: #fff;
  /* Firefox */
}

body #wrap {
  overflow: hidden;
}

img {
  max-width: 100%;
  vertical-align: middle;
}

@media only screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
}
@media only screen and (min-width: 769px) {
  .pc_only {
    display: block;
  }
  .sp_only {
    display: none;
  }
}
/*----------------------------------------------------
	☆indent
----------------------------------------------------*/
.center {
  text-align: center !important;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.top0 {
  margin-top: 0 !important;
}

.top5 {
  margin-top: 5px !important;
}

.top10 {
  margin-top: 10px !important;
}

.top15 {
  margin-top: 15px !important;
}

.top20 {
  margin-top: 20px !important;
}

.top25 {
  margin-top: 25px !important;
}

.top30 {
  margin-top: 30px !important;
}

.top35 {
  margin-top: 35px !important;
}

.top40 {
  margin-top: 40px !important;
}

.btm0 {
  margin-bottom: 0 !important;
}

.btm5,
.btm05 {
  margin-bottom: 5px !important;
}

.btm10 {
  margin-bottom: 10px !important;
}

.btm15 {
  margin-bottom: 15px !important;
}

.btm20 {
  margin-bottom: 20px !important;
}

.btm25 {
  margin-bottom: 25px !important;
}

.btm30 {
  margin-bottom: 30px !important;
}

.btm35 {
  margin-bottom: 35px !important;
}

.btm40 {
  margin-bottom: 40px !important;
}

.btm45 {
  margin-bottom: 45px !important;
}

.btm50 {
  margin-bottom: 50px !important;
}

.btm55 {
  margin-bottom: 55px !important;
}

.btm60 {
  margin-bottom: 60px !important;
}

.btm65 {
  margin-bottom: 65px !important;
}

.btm70 {
  margin-bottom: 70px !important;
}

.btm75 {
  margin-bottom: 75px !important;
}

.btm80 {
  margin-bottom: 80px !important;
}

.btm85 {
  margin-bottom: 85px !important;
}

.btm90 {
  margin-bottom: 90px !important;
}

.btm95 {
  margin-bottom: 90px !important;
}

.pT0 {
  padding-top: 0 !important;
}

.pT5 {
  padding-top: 5px !important;
}

.pT10 {
  padding-top: 10px !important;
}

.pT15 {
  padding-top: 15px !important;
}

.pT20 {
  padding-top: 20px !important;
}

.pT25 {
  padding-top: 25px !important;
}

.pT30 {
  padding-top: 30px !important;
}

.pT35 {
  padding-top: 35px !important;
}

.pT40 {
  padding-top: 40px !important;
}

.pT45 {
  padding-top: 45px !important;
}

.pB0 {
  padding-bottom: 0 !important;
}

.pB5 {
  padding-bottom: 5px !important;
}

.pB10 {
  padding-bottom: 10px !important;
}

.pB15 {
  padding-bottom: 15px !important;
}

.pB20 {
  padding-bottom: 20px !important;
}

.lm5 {
  margin-left: 5px !important;
}

.lm10 {
  margin-left: 10px !important;
}

.lm15 {
  margin-left: 15px !important;
}

.lm20 {
  margin-left: 20px !important;
}

.lm50 {
  margin-left: 50px !important;
}

.lm60 {
  margin-left: 60px !important;
}

.lm70 {
  margin-left: 70px !important;
}

.rm5 {
  margin-right: 5px !important;
}

.rm10 {
  margin-right: 10px !important;
}

.rm15 {
  margin-right: 15px !important;
}

.rm20 {
  margin-right: 20px !important;
}

.vAT {
  vertical-align: top !important;
}

.vAM {
  vertical-align: middle !important;
}

.vAB {
  vertical-align: bottom !important;
}

.red {
  color: #e20035;
}

.color01 {
  color: #37b3ff;
}

.bold {
  font-weight: bold;
}

.normal {
  font-weight: normal;
}

.icon {
  margin-right: 3px;
  vertical-align: middle;
  margin-top: -1px;
}

.indent {
  text-indent: 1em;
}

.spHide {
  display: block;
}

.spDisp {
  display: none;
}

/*----------------------------------------------------
	☆Width
----------------------------------------------------*/
.w5 {
  width: 5% !important;
}

.w10 {
  width: 10% !important;
}

.w15 {
  width: 15% !important;
}

.w18 {
  width: 18% !important;
}

.w20 {
  width: 20% !important;
}

.w25 {
  width: 25% !important;
}

.w30 {
  width: 30% !important;
}

.w35 {
  width: 35% !important;
}

.w40 {
  width: 40% !important;
}

.w45 {
  width: 45% !important;
}

.w49 {
  width: 49% !important;
}

.w50 {
  width: 50% !important;
}

.w55 {
  width: 55% !important;
}

.w60 {
  width: 60% !important;
}

.w65 {
  width: 65% !important;
}

.w70 {
  width: 70% !important;
}

.w75 {
  width: 75% !important;
}

.w77 {
  width: 77% !important;
}

.w80 {
  width: 80% !important;
}

.w85 {
  width: 85% !important;
}

.w90 {
  width: 90% !important;
}

.w95 {
  width: 95% !important;
}

.wfull {
  width: 100% !important;
}

.w100 {
  width: 100px;
}

.w150 {
  width: 150px;
}

.w200 {
  width: 200px;
}

.w250 {
  width: 250px;
}

.w300 {
  width: 300px;
}

.w340 {
  width: 340px;
}

.w350 {
  width: 350px;
}

.w360 {
  width: 360px;
}

.w400 {
  width: 400px;
}

.w440 {
  width: 440px;
}

.w450 {
  width: 450px;
}

.w500 {
  width: 500px;
}

.w550 {
  width: 550px;
}

.w600 {
  width: 600px;
}

/*----------------------------------------------------
	☆fontsize
----------------------------------------------------*/
#contents .size10 {
  font-size: 10px !important;
  font-size: 1rem !important;
}

#contents .size11 {
  font-size: 11px !important;
  font-size: 1.1rem !important;
}

#contents .size12 {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

#contents .size13 {
  font-size: 13px !important;
  font-size: 1.3rem !important;
}

#contents .size14 {
  font-size: 14px !important;
  font-size: 1.4rem !important;
}

#contents .size15 {
  font-size: 15px !important;
  font-size: 1.5rem !important;
}

#contents .size16 {
  font-size: 16px !important;
  font-size: 1.6rem !important;
}

#contents .size17 {
  font-size: 17px !important;
  font-size: 1.7rem !important;
}

#contents .size18 {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}

#contents .size19 {
  font-size: 19px !important;
  font-size: 1.9rem !important;
}

#contents .size20 {
  font-size: 20px !important;
  font-size: 2rem !important;
}

#contents .size21 {
  font-size: 21px !important;
  font-size: 2.1rem !important;
}

#contents .size22 {
  font-size: 22px !important;
  font-size: 2.2rem !important;
}

#contents .size23 {
  font-size: 23px !important;
  font-size: 2.3rem !important;
}

#contents .size24 {
  font-size: 24px !important;
  font-size: 2.4rem !important;
}

/*----------------------------------------------------
	☆Crearfix
----------------------------------------------------*/
.clearfix:after {
  content: ".";
  height: 0;
  clear: both;
  display: block;
  font-size: 0.1em;
  line-height: 0;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
  min-height: 1%;
}

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}

/* End hide from IE-mac */
/*----------------------------------------------------
	☆br clear
----------------------------------------------------*/
br.clear {
  display: inline !important;
  display: none;
  clear: both;
  line-height: 0px;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  br.clear {
    display: block !important;
    content: " ";
  }
}
div.clear {
  clear: both;
  line-height: 0px;
}

/*----------------------------------------------------
	☆topcontrol
----------------------------------------------------*/
/*----------------------------------------------------
	☆Display None
----------------------------------------------------*/
.spDisp {
  display: none !important;
}

.spHide {
  display: block !important;
}

/*----------------------------------------------------
	☆basecompo
----------------------------------------------------*/
#contents section {
  clear: both;
}

#contents section.last {
  margin-bottom: 0;
}

.aural span,
span.aural {
  display: none;
  visibility: hidden;
}

img.icon {
  margin-right: 5px;
  vertical-align: middle;
}

#contents .animated {
  opacity: 0;
}

/*----------------------------------------------------
	☆box
----------------------------------------------------*/
.fltbox:after {
  content: " ";
  display: block;
  clear: both;
}

.fltbox .boxL {
  float: left;
}

.fltbox .boxR {
  float: right;
}

@media only screen and (max-width: 768px) {
  .fltbox .boxL {
    float: none;
  }
  .fltbox .boxR {
    float: none;
  }
  .spDisp {
    display: block !important;
  }
  .spHide {
    display: none !important;
  }
}
/*----------------------------------------------------
	☆main
----------------------------------------------------*/
/* main */
#main_in {
  width: 1000px;
  margin: 0 auto;
}

/* breadCrumb */
#breadCrumb {
  width: 100%;
  background: #000;
}

#breadCrumb #breadCrumbin {
  max-width: 1000px;
  width: 95%;
  margin: 0 auto;
  padding: 5px 5px 10px;
}

#breadCrumb #breadCrumbin li {
  display: inline-block;
}

#breadCrumb #breadCrumbin li {
  font-size: 11px;
}

#breadCrumb #breadCrumbin li {
  color: #fff;
}

#breadCrumb #breadCrumbin li.home a {
  color: #a38b4c;
  text-decoration: none;
}

#breadCrumb #breadCrumbin li.home a:hover {
  text-decoration: underline;
}

/* pajer */
.pager {
  margin-top: 50px;
  overflow: hidden;
}

.pager ul {
  list-style: none;
  position: relative;
  left: 50%;
  float: left;
}

.pager ul li {
  margin: 0 1px;
  position: relative;
  left: -50%;
  float: left;
  font-family: "Tinos", serif;
}

.pager ul li span,
.pager ul li a {
  display: block;
  font-size: 20px;
  padding: 0.8em 1.1em;
  border-radius: 0;
  font-family: "Tinos", serif;
}

.pager ul li a {
  background: #dcdcdc;
  color: #000;
  text-decoration: none;
}

.pager ul li a:hover,
.pager ul li.now {
  background: #332f00;
  color: #fff;
}

/* head */
.head01 {
  font-size: 40px;
  font-family: "Spectral SC", serif;
  font-weight: 400;
  color: #b1a281;
  text-align: center;
  margin-bottom: 40px;
}

.head01 span {
  display: block;
  color: #b1a281;
  font-size: 20px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.6;
}

/* btn */
.btn_clear {
  text-align: center;
}

.btn_clear a {
  display: block;
  border: 1px solid #9e8b63;
  color: #9e8b63;
  width: 245px;
  text-align: center;
  padding: 15px;
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
  margin: 45px auto 0;
}

.btn_clear a i {
  font-size: 20px;
  margin-right: 10px;
}

.btn_clear a:hover {
  background: #9e8b63;
  color: #fff;
}

.btn_return {
  text-align: center;
  margin-top: 50px;
  padding-bottom: 50px;
}

.btn_return a {
  background: #332f00;
  display: block;
  width: 300px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  text-decoration: none !important;
  font-size: 16px;
  margin: 0 auto;
  color: #fff !important;
  font-family: YuMincho, "Yu Mincho", serif;
  border: 1px solid #332f00;
}

.btn_return a:hover {
  background: #fff;
  transition: all 0.3s ease-in-out;
}

.btn_return a:hover span {
  color: #332f00;
}

.btn_return a span {
  display: inline-block;
  text-decoration: none;
  text-indent: 20px;
  position: relative;
}

.btn_return a span:before {
  content: "\f104";
  font-family: "FontAwesome";
  position: absolute;
  left: -20px;
}

/* btn_clear_2 */
.btn_clear_2 {
  text-align: center;
}

.btn_clear_2 a {
  display: block;
  border: 1px solid #9e8b63;
  color: #fff;
  width: 245px;
  text-align: center;
  padding: 15px;
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
  margin: 45px auto 0;
  background: #9e8b63;
}

.btn_clear_2 a i {
  font-size: 20px;
  margin-right: 10px;
}

.btn_clear_2 a:hover {
  background: #fff;
  color: #9e8b63;
}

/*----------------------------------------------------
	☆footer
----------------------------------------------------*/
/* privilege */
#privilege {
  width: 100%;
  background: #f4f4f4;
  padding: 50px 0 70px;
}

#privilege h2 {
  text-align: center;
  margin-bottom: 25px;
}

/*
#privilege .privilege{
 width: 920px;
 margin: 0 auto;
}
*/
#privilege .privilege {
  width: 680px;
  margin: 0 auto;
}

#privilege .privilege ul {
  font-size: 0;
}

#privilege .privilege li {
  width: 210px;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 40px;
  margin-right: 22.8px;
}

/*
#privilege .privilege li:nth-of-type(4),
#privilege .privilege li:nth-of-type(8){
	margin-right: 0;
}
*/
#privilege .privilege li:nth-of-type(3n) {
  margin-right: 0;
}

#privilege .privilege li .img {
  text-align: center;
}

#privilege .privilege li h3 {
  font-size: 18px;
  color: #a38b4c;
  text-align: center;
  margin: 15px auto;
  letter-spacing: -1px;
}

#privilege .privilege li .txt {
  font-size: 15px;
  font-weight: 500;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.5;
}

/* fgroup */
#fgroup {
  width: 100%;
  background: #f4f4f4;
}

#fgroup .fgroup {
  width: 550px;
  margin: 0 auto;
  padding: 80px 0;
}

#fgroup .boxL {
  text-align: center;
}

#fgroup .boxL h2 {
  font-size: 40px;
  font-family: "Spectral SC", serif;
  font-weight: 400;
  color: #b1a281;
}

#fgroup .boxL p {
  color: #b1a281;
  font-size: 20px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.6;
}

#fgroup .boxR li {
  width: 256px;
  display: inline-block;
  border: 1px solid #d7d7d7;
}

#fgroup .boxR li img {
  width: 100%;
  vertical-align: bottom;
}

#fgroup .boxR li.li02 {
  margin-left: 18px;
}

.modal-content {
  display: none;
}

/* 20180517 */
.pickup_bnr {
  text-align: center;
  margin: 30px auto;
}

@media only screen and (max-width: 768px) {
  /*----------------------------------------------------
  	☆main
  ----------------------------------------------------*/
  /* main */
  #main_in {
    width: 93%;
    margin: 0 auto;
  }
  /* head */
  .head01 {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .head01 span {
    font-size: 15px;
    line-height: 1.4;
  }
  /*-- breadCrumb --*/
  #breadCrumb #breadCrumbin {
    width: 93%;
  }
  #breadCrumb #breadCrumbin ul li {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
  }
  #breadCrumb #breadCrumbin ul li.last {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: 50%;
  }
  /* pajer */
  .pager {
    margin-top: 20px;
    overflow: hidden;
  }
  .pager ul {
    list-style: none;
    position: relative;
    left: 50%;
    float: left;
  }
  .pager ul li {
    margin: 0 1px;
    position: relative;
    left: -50%;
    float: left;
    font-family: "Tinos", serif;
  }
  .pager ul li span,
  .pager ul li a {
    display: block;
    font-size: 12px;
    padding: 0.8em 1.1em;
    border-radius: 0;
    font-family: "Tinos", serif;
  }
  .pager ul li a {
    background: #dcdcdc;
    color: #000;
    text-decoration: none;
  }
  .pager ul li a:hover,
  .pager ul li.now {
    background: #332f00;
    color: #fff;
  }
  /* btn */
  .btn_clear {
    text-align: center;
  }
  .btn_clear a {
    width: 80%;
    padding: 10px;
    font-size: 14px;
    margin: 10px auto 0;
  }
  .btn_clear a i {
    font-size: 16px;
  }
  .btn_return a {
    width: 80%;
    height: 30px;
    line-height: 30px;
    font-size: 13px;
  }
  .btn_return {
    margin-top: 20px;
  }
  .btn_return a span:before {
    content: "\f104";
    font-family: "FontAwesome";
    position: absolute;
    left: -20px;
  }
  /*----------------------------------------------------
  	☆footer
  ----------------------------------------------------*/
  /* privilege */
  #privilege {
    width: 100%;
    background: #f4f4f4;
    padding: 40px 0;
  }
  #privilege h2 {
    width: 70%;
    text-align: center;
    margin: 0 auto 15px;
  }
  #privilege h2 img {
    width: 100%;
  }
  #privilege .privilege {
    width: 93%;
    margin: 0 auto;
  }
  #privilege .privilege li {
    width: 100%;
    display: block;
    margin-bottom: 20px;
    margin-right: 0;
    padding-left: 50px;
    position: relative;
  }
  #privilege .privilege li:before {
    content: "";
    width: 44px;
    height: 44px;
    position: absolute;
    display: block;
    left: 0;
    top: 0;
  }
  /*
  #privilege .privilege li:nth-of-type(1):before{
  	background: url('../../cmn/cmn_img/pri01.png') no-repeat;
  	background-size: contain;
  }
   */
  #privilege .privilege li:nth-of-type(1):before {
    background: url("../../cmn/cmn_img/pri02.png") no-repeat;
    background-size: contain;
  }
  #privilege .privilege li:nth-of-type(2):before {
    background: url("../../cmn/cmn_img/pri03.png") no-repeat;
    background-size: contain;
  }
  #privilege .privilege li:nth-of-type(3):before {
    background: url("../../cmn/cmn_img/pri04.png") no-repeat;
    background-size: contain;
  }
  #privilege .privilege li:nth-of-type(4):before {
    background: url("../../cmn/cmn_img/pri08.png") no-repeat;
    background-size: contain;
  }
  #privilege .privilege li:nth-of-type(5):before {
    background: url("../../cmn/cmn_img/pri05.png") no-repeat;
    background-size: contain;
  }
  #privilege .privilege li:nth-of-type(6):before {
    background: url("../../cmn/cmn_img/pri06.png") no-repeat;
    background-size: contain;
  }
  /*
  #privilege .privilege li:nth-of-type(8):before{
  	background: url('../../cmn/cmn_img/pri07.png') no-repeat;
  	background-size: contain;
  }
   */
  #privilege .privilege li:nth-last-of-type(1) {
    margin-bottom: 0;
  }
  #privilege .privilege li .img {
    display: none;
  }
  #privilege .privilege li h3 {
    font-size: 16px;
    text-align: left;
    margin: 5px auto;
  }
  #privilege .privilege li .txt {
    font-size: 12px;
  }
  /* fgroup */
  #fgroup {
    width: 100%;
    background: #f4f4f4;
  }
  #fgroup .fgroup {
    width: 93%;
    padding: 40px 0;
  }
  #fgroup .boxL {
    text-align: center;
  }
  #fgroup .boxL h2 {
    font-size: 20px;
  }
  #fgroup .boxL p {
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 10px;
  }
  #fgroup .boxR ul {
    font-size: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 256px;
  }
  #fgroup .boxR li {
    margin: 0 auto;
    width: 100%;
  }
  #fgroup .boxR li img {
    width: 100%;
    vertical-align: bottom;
  }
  #fgroup .boxR li.li01 {
    margin-right: 4%;
  }
  /*----------------------------------------------------
  ☆mordal
  ----------------------------------------------------*/
  .over {
    z-index: 19 !important;
  }
  .lock {
    overflow: hidden;
  }
  .modal-content {
    position: relative;
    display: none;
    width: 80%;
    margin: 60px 2%;
    padding: 0;
    background: #fff;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 11000;
  }
  .modal-content p {
    margin: 0;
    padding: 0;
  }
  .modal-overlay {
    z-index: 19;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background-color: rgba(0, 0, 0, 0.5);
  }
  .modal-wrap {
    z-index: 20;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
  }
  .modal-open,
  .modal-open span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
    float: right;
  }
  .modal-open {
    position: absolute;
    width: 24px;
    height: 24px;
    margin-top: 5px;
    top: 13px;
    right: 10px;
  }
  .modal-open span {
    position: absolute;
    left: 0px;
    width: 100%;
    height: 1px;
    background-color: #fff;
    border-radius: 4px;
  }
  .modal-open span:nth-of-type(1) {
    top: 0;
  }
  .modal-open span:nth-of-type(2) {
    top: 10px;
  }
  .modal-open span:nth-of-type(3) {
    top: 20px;
  }
  .modal-open span:nth-of-type(4) {
    bottom: 0;
    color: #fff;
    height: 0;
  }
  .modal-close {
    color: #00f;
    text-align: right;
  }
  .modal-close:hover {
    cursor: pointer;
    color: #f00;
    text-decoration: none;
  }
  p.close_top {
    text-align: right;
    margin: 0;
  }
  p.close_top .modal-close {
    height: 28px;
    width: 28px;
    color: #ccc;
    font-size: 25px;
    padding: 0;
    background-color: #444;
    display: block;
    text-align: center;
    line-height: 28px;
    position: absolute;
    top: -35px;
    right: 0px;
    z-index: 1;
  }
  .modal-content > ul {
    overflow: hidden;
    margin: 0;
    padding: 0;
  }
  .modal-content > ul li.lavel {
    background-color: #f70841;
    font-size: 1.6em;
    padding: 5px 30px;
    font-weight: bold;
    text-align: center;
  }
  .modal-content > ul li.lavel a {
    color: #fff;
  }
  .modal-content h2 {
    background: #000;
    text-align: center;
    color: #fff;
    padding: 20px 0;
  }
  .modal-content h2 span {
    text-indent: 20px;
  }
  .modal-content h2 span:before {
    content: "";
    background: url("../../cmn/cmn_img/logo_top.png") no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    display: inline-block;
    margin-right: 10px;
  }
  /*
  .modal-content h2 p{
  	width: 20%;
  	margin: 0 auto;
  	padding: 5px 0;
  }
  .modal-content h2 p img{
  	width: 100%;
  }
   */
  .modal-content h3 {
    color: #fff;
    font-size: 18px;
    background: #000;
    text-align: center;
    line-height: 30px;
    padding-top: 10px;
  }
  .menu_box {
    font-size: 0;
    width: 100%;
  }
  .menu_box li {
    float: left;
    /* width: calc(100%/3); */
    height: 50px;
    vertical-align: bottom;
    width: 100%;
  }
  .menu_box li a {
    text-align: center;
    color: #fff;
    padding-top: 5px;
    padding-bottom: 5px;
    display: block;
    height: 50px;
    vertical-align: bottom;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
  }
  .menu_tel {
    background: #146;
    height: 35px;
    line-height: 35px;
  }
  .menu_tel li {
    width: 100%;
    text-align: center;
  }
  .menu_tel li a {
    color: #fff;
    text-align: center;
    position: relative;
    font-size: 22px;
  }
  .menu_tel li a:before {
    content: "\f095";
    font-family: FontAwesome;
    position: absolute;
    left: -20px;
    top: 50%;
    margin-top: -22px;
  }
  .menu_info {
    background: #666666;
    height: 35px;
    line-height: 35px;
  }
  .menu_info li {
    width: 100%;
    text-align: center;
  }
  .menu_info li a {
    color: #fff;
    text-align: center;
    position: relative;
    font-size: 20px;
  }
  .menu_info li a:before {
    content: "\f0e0";
    font-family: FontAwesome;
    position: absolute;
    left: -20px;
    top: 50%;
    margin-top: -22px;
  }
  .member_info {
    background: #9f2505;
    height: 35px;
    line-height: 35px;
  }
  .member_info li {
    width: 100%;
    text-align: center;
  }
  .member_info li a {
    color: #fff;
    text-align: center;
    position: relative;
    font-size: 20px;
  }
  /*.member_info li a:before {
  	content: "\f0e0";
  	font-family: FontAwesome;
  	position: absolute;
  	left: -20px;
  	top: 50%;
  	margin-top: -22px;
  }*/
  .menu_box li span {
    font-size: 12px;
    line-height: 1.2;
  }
  .menu_box li.menu01 {
    text-align: center;
    color: #fff;
    display: block;
    height: 50px;
    vertical-align: bottom;
    text-decoration: none;
    position: relative;
  }
  .menu_box li a span {
    font-size: 10px;
  }
  .menu_box .menu01 {
    background-color: #bc9a13;
    cursor: pointer;
  }
  .menu_box li a i {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translate(-50%, 0);
    font-size: 25px;
  }
  .menu_box .menu02 {
    background-color: #9e8d62;
  }
  .menu_box .menu03 {
    background-color: #666666;
  }
  .menu_box .menu05 {
    background-color: #584730;
  }
  /*
  .menu_box .menu04{
  	background-color: #000;
  	font-size: 10px;
  	position: relative;
  }
  .menu_box .menu04 i{
  	position: absolute;
  	top: 25px;
  	left: 50%;
  	color: #fff;
  	-webkit-transform: translate(-50%,0);
  	-moz-transform: translate(-50%,0);
  	-ms-transform: translate(-50%,0);
  	-o-transform: translate(-50%,0);
  	transform: translate(-50%,0);
  	font-size:25px;
  }

  */
  ul.btm_sns {
    background: #000;
    padding-bottom: 20px;
  }
  ul.btm_sns li {
    text-align: center;
  }
  ul.btm_sns li a {
    color: #fff;
    font-size: 30px;
  }
  .modal-content .btm_logo {
    text-align: center;
    background: #000;
    padding-bottom: 10px;
  }
  .modal-content .btm_logo .img {
    display: block;
    width: 25%;
    margin: 0 auto;
  }
  .modal-content .btm_logo .img img {
    width: 100%;
  }
  p.close_bottom {
    background-color: #e8e6c2;
    overflow: hidden;
    text-align: center;
  }
  p.close_bottom a {
    display: block;
    color: #a5a4a4;
    background-color: #fff;
    padding: 10px 30px;
    font-size: 1.4em;
  }
  /* 20180517 */
  .modal-content .pickup_bnr {
    background: #333;
    border-bottom: 1px solid #fff;
  }
  .modal-content .pickup_bnr input {
    padding: 5px;
  }
  .pickup_bnr {
    margin: 20px auto;
    width: 100%;
  }
  .pickup_bnr input {
    width: 100%;
  }
  .nosp {
    display: none !important;
  }
  .nopc {
    display: unset;
  }
  .news_200610 li {
    width: 100% !important;
  }
}
@media only screen and (min-width: 769px) {
  .inc_pcHide {
    display: none;
  }
  .nopc {
    display: none;
  }
  .nosp {
    display: unset;
  }
}
/* 20191225追加 */
.pnt_sis {
  margin: 5px auto 20px;
}

.pnt_txtbox {
  background: #e2e2e2;
  padding: 20px;
}

.riyou {
  float: left;
  padding: 0 3px;
  margin-bottom: 20px;
}

.pnt_li {
  margin-top: 10px;
}

.pnt_li_1 {
  margin-top: 10px;
}

.pnt_sis a img:hover {
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}

/* 20190619追加 */
.spDisp2 {
  display: none !important;
}

/*200220楽天アワードnews*/
.aw_news {
  float: left;
  width: 20%;
  margin-right: 3%;
  padding: 7% 0 19%;
}

.aw_news img {
  width: 100%;
}

.aw_txt {
  line-height: 1.5;
}

/*200220楽天アワードtop*/
.head01 a img :first-child {
  margin-right: 10px;
}

.n_btn {
  display: block;
  border: 2px solid #9e8b63;
  color: #9e8b63;
  width: 100%;
  /* text-align: center; */
  padding: 15px;
  font-weight: bold;
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
}

.n_btn a {
  color: #9e8d62 !important;
  text-decoration: none !important;
}

@media only screen and (max-width: 768px) {
  .spDisp2 {
    display: block !important;
  }
  .spHide2 {
    display: none !important;
  }
  .pnt_sp_text {
    font-size: 12px !important;
  }
  .pnt_li img {
    width: 20%;
  }
  .pnt_li_1 img {
    width: 38%;
  }
}
/*200406日帰りプランニュース*/
p.plan_200406 {
  margin-top: 15px;
}

p.plan_200406 img {
  width: 337px;
  margin-right: 10px;
}

@media only screen and (max-width: 768px) {
  p.plan_200406 img {
    width: 100%;
    margin-bottom: 3%;
  }
}
/* 220916 */
#fgroup.bn_box .fgroup {
  width: auto;
}

#fgroup.bn_box .fltbox .boxL,
#fgroup.bn_box .fltbox .boxR {
  float: none;
}

#fgroup.bn_box .fltbox .boxR ul {
  display: flex;
  justify-content: space-evenly;
  /* flex-wrap: wrap; */
  max-width: 1200px;
  width: 100%;
  margin: 30px auto 0;
}

#fgroup.bn_box .fltbox .boxR ul li {
  max-width: 194.4px;
  width: 24%;
  margin: 0 2px;
}

#fgroup.bn_box .fltbox .boxR ul li a {
  transition: 0.3s;
}

#fgroup.bn_box .fltbox .boxR ul li a:hover {
  opacity: 0.6;
}

@media only screen and (max-width: 450px) {
  #fgroup.bn_box .fltbox .boxR ul li {
    max-width: 256px;
    width: 100%;
    margin: 0 auto 3%;
  }
}
/* 230207 */
.reserve_link {
  padding: 60px 0 120px;
  background: rgba(177, 162, 129, 0.1);
}

.reserve_link ul {
  max-width: 540px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

.reserve_link ul li {
  text-align: center;
  max-width: 240px;
  width: 100%;
}

.reserve_link ul li a {
  padding: 20px;
  border: 1px solid #ba9812;
  display: block;
  width: 100%;
  position: relative;
  transition: 0.3s;
  font-weight: bold;
  background-color: #ba9812;
  color: #fff;
}

.reserve_link ul li a:hover {
  background-color: #fff;
  color: #000;
}

.reserve_link ul li a .fa {
  padding-right: 10px;
  color: #fff;
}

.reserve_link ul li a:hover .fa {
  color: #9e8b63;
}

.area_lightbox_wrap_bbq {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 220831　ポップアップ */
.top_lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1010;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}

.top_lightbox.active {
  opacity: 1;
  pointer-events: auto;
}

.top_lightbox div {
  background: #fff;
  width: 70%;
  max-width: 650px;
  padding: 50px;
  text-align: center;
  position: relative;
  box-sizing: border-box;
  border: 3px solid #caa670;
}

.top_lightbox div img {
  max-width: 100%;
  display: block;
  margin: 0 auto 20px;
}

.top_lightbox div p {
  margin-bottom: 30px;
  text-align: center;
  font-size: 14px;
}

.top_lightbox div p strong {
  font-size: 20px;
  font-weight: bold;
  display: block;
  text-align: center;
  padding-bottom: 12px;
  border-bottom: 2px solid #9f864c;
  margin: auto;
  width: 52%;
}

.top_lightbox div p strong.popup_strong {
  font-size: 18px;
  padding: 20px 0;
  border: none;
  line-height: 1.5em;
}

.top_lightbox div p strong span {
  font-size: 20px;
  color: red;
  position: relative;
  z-index: 1;
}

.top_lightbox div p strong span::after {
  content: "";
  width: 100%;
  height: 7px;
  background-color: #fff141;
  position: absolute;
  bottom: 4px;
  left: 0;
  z-index: -2;
}

.top_lightbox div .close {
  position: absolute;
  top: 15px;
  right: 10px;
  width: 30px;
  height: 20px;
  cursor: pointer;
  opacity: 1;
}

.top_lightbox div .close::before,
.top_lightbox div .close::after {
  content: "";
  width: 100%;
  height: 2px;
  background: #404040;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.top_lightbox div .close::before {
  transform: rotate(45deg);
}

.top_lightbox div .close::after {
  transform: rotate(-45deg);
}

.top_lightbox div .btn {
  cursor: pointer;
  padding: 10px;
  display: block;
  margin: 30px auto 0;
  line-height: 100%;
  height: auto;
  width: 210px;
  border: 1px solid #9e8b63;
}

.top_lightbox div .btn::after {
  display: none;
}

/* 230207 */
.reserve_link {
  padding: 60px 0 120px;
  background: rgba(177, 162, 129, 0.1);
}

.reserve_link ul {
  max-width: 540px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

.reserve_link ul li {
  text-align: center;
  max-width: 240px;
  width: 100%;
}

.reserve_link ul li a {
  padding: 20px;
  border: 1px solid #ba9812;
  display: block;
  width: 100%;
  position: relative;
  transition: 0.3s;
  font-weight: bold;
  background-color: #ba9812;
  color: #fff;
}

.reserve_link ul li a:hover {
  background-color: #fff;
  color: #000;
}

.reserve_link ul li a .fa {
  padding-right: 10px;
  color: #fff;
}

.reserve_link ul li a:hover .fa {
  color: #9e8b63;
}

.area_lightbox_wrap_bbq {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 230207　ポップアップ */
@media only screen and (max-width: 768px) {
  .top_lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 2547483645;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
  }
  .top_lightbox.active {
    opacity: 1;
    pointer-events: auto;
  }
  .top_lightbox div {
    background: #fff;
    width: 90%;
    /* max-width: 650px; */
    padding: 14% 5%;
    text-align: center;
    position: relative;
    box-sizing: border-box;
    border: 3px solid #caa670;
    /* height: 70vh; */
    overflow-y: auto;
    min-height: 250px;
    margin-top: -10%;
  }
  .top_lightbox div img {
    max-width: 100%;
    display: block;
    margin: 0 auto 20px;
  }
  .top_lightbox div p {
    margin-bottom: 30px;
    text-align: center;
    font-size: 14px;
  }
  .top_lightbox div p strong {
    font-size: 4vw;
    font-weight: bold;
    display: block;
    width: 95%;
  }
  .top_lightbox div p strong.popup_strong {
    font-size: 3.8vw;
    padding: 5% 0;
    border: none;
  }
  .top_lightbox div p strong.popup_strong span {
    font-size: 5vw;
    color: red;
    position: relative;
    z-index: 1;
  }
  .top_lightbox div p strong.popup_strong span::after {
    content: "";
    width: 100%;
    height: 7px;
    background-color: #fff141;
    position: absolute;
    bottom: 4px;
    left: 0;
    z-index: -2;
  }
  .top_lightbox div .close {
    position: absolute;
    top: 15px;
    right: 10px;
    width: 30px;
    height: 20px;
    cursor: pointer;
    opacity: 1;
  }
  .top_lightbox div .close::before,
  .top_lightbox div .close::after {
    content: "";
    width: 100%;
    height: 2px;
    background: #000;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .top_lightbox div .close::before {
    transform: rotate(45deg);
  }
  .top_lightbox div .close::after {
    transform: rotate(-45deg);
  }
  .top_lightbox div .btn {
    cursor: pointer;
    padding: 10px;
    display: block;
    margin: auto;
    line-height: 100%;
    height: auto;
    width: 210px;
    border: 1px solid #9e8b63;
    margin: 30px auto 0;
  }
  .top_lightbox div .btn::after {
    display: none;
  }
}
@media screen and (max-width: 380px) {
  .top_lightbox div {
    height: auto;
  }
  .top_lightbox div p {
    font-size: 3.2vw;
  }
  .top_lightbox div .btn {
    padding: 10px 0px 10px 5px;
  }
}
li.li05.even {
  background: #9e8d62;
}

li.li05.member_nav {
  background: #9e2505;
}

.menu_box .menu02.car {
  background-color: #665f07;
}

/* 230522 */
/* .plan_inner {
	max-width: 1080px;
	width: 100%;
	margin: auto;
} */
.plan_inner h2.head01.cpba a img {
  width: 540px;
}

h2.head01.cpba .plan_txt {
  font-size: 18px;
  margin-top: 20px;
}

.top_lightbox.all .link_box {
  display: flex;
  justify-content: center;
}

.top_lightbox.all .link_box a.btn {
  margin: 0 10px;
}

.travel_box {
  padding: 80px 0;
}

@media only screen and (max-width: 768px) {
  .travel_box {
    padding: 15% 5%;
  }
  .travel_box a img {
    margin-bottom: 5%;
  }
}
/* 230523 */
.plan_bn_fixed {
  position: fixed;
  bottom: 10px;
  left: 10px;
  max-width: 250px;
}

.plan_bn_fixed li {
  margin-bottom: 15px;
}

.plan_bn_fixed li img {
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .plan_bn_fixed {
    position: fixed;
    bottom: 10px;
    left: 10px;
    max-width: 200px;
    width: 30%;
  }
}
/*会員導線_230530*/
.btn-wrap {
  max-width: 1000px;
  width: 1000px;
  margin: 60px auto;
}

a.btn-c {
  font-size: 20px;
  padding: 0.25rem 2rem 0.45rem 10rem;
  color: #9f864c;
  background: #efeadf;
  box-shadow: 0 5px 0 #9e2505;
  width: 100%;
  height: auto;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  cursor: pointer !important;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 0.3rem;
  border: none;
  text-align: left;
  padding-bottom: 20px;
  box-shadow: 5px 5px 0 #9e2505;
}

a.btn-c span {
  font-size: 30px;
  position: absolute;
  top: -34px;
  left: calc(50% - 273px);
  display: block;
  padding: 0.2rem 0.8rem;
  color: #fff;
  border: 2px solid #9e2505;
  border-radius: 0.5rem;
  background: #9e2505;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  font-weight: normal;
}

.btn {
  box-sizing: border-box;
  width: 275px;
  height: 50px;
  border: 1px solid #7d7d7d;
  font-size: 120%;
  color: #7d7d7d;
  text-align: center;
  background: #fff url(../img/common/list_icon02.png) no-repeat 15px 50%;
}

.a.btn-c span {
  font-size: 30px;
  position: absolute;
  top: -34px;
  left: calc(50% - 273px);
  display: block;
  padding: 0.2rem 0.8rem;
  color: #fff;
  border: 2px solid #9e2505;
  border-radius: 0.5rem;
  background: #9e2505;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  font-weight: normal;
}

.sp {
  display: none !important;
}

font.checkbtn {
  display: inline-block;
  position: absolute;
  right: 15px;
  bottom: 10px;
  color: #404040;
  font-size: 19px;
}

a.btn-c:hover {
  transform: translate(0, 3px);
  color: #9f864c;
  background: #efeadf;
  box-shadow: 0 2px 0 #9e2505;
}

a.btn-c:hover:before {
  left: 2rem;
}

a.btn-c b {
  color: #9e2505;
  font-size: 30px;
}

/*SP会員導線_230530*/
@media only screen and (max-width: 768px) {
  .btn-wrap {
    width: 90% !important;
  }
  a.btn-c {
    font-size: 16px !important;
    padding: 1.5rem 1rem 0.5rem !important;
  }
  a.btn-c span {
    font-size: 20px !important;
    left: calc(53% - 124px) !important;
    padding: 0.2rem 1.5rem !important;
    border: 1px solid #b24949 !important;
    top: -35px;
    text-align: center;
  }
  .sp {
    display: block !important;
  }
  a.btn-c b {
    font-size: 21px;
  }
}
/* 230606 */
.search-widget-day-use-block-da04c0 label {
  color: #fff !important;
}

.sm14 {
  font-size: 15px;
  text-align: center;
}

/*Facebookシェアbtn-230724*/
.footer-sns {
  display: flex;
  justify-content: center;
  margin: 1% auto;
}

@media only screen and (max-width: 768px) {
  .footer-sns {
    margin: 4% auto;
  }
}
#fb {
  width: 100%;
  padding: 80px 0 80px 0;
}

.fb-block {
  display: flex;
  justify-content: center;
}

.facebook_wrap {
  margin-left: auto;
  margin-right: auto;
  width: 27%;
}

.flex1 {
  display: flex;
  margin: 1% auto;
  justify-content: center;
}

.flex2 {
  padding: 0 0.2vw;
}

@media only screen and (max-width: 768px) {
  .flex2 {
    padding: 0 0.7vw;
  }
  #fgroup.bn_box .fltbox .boxR ul {
    flex-wrap: wrap;
    max-width: 68%;
  }
}
/*230810_TOPプラン*/
.f-bold {
  font-weight: bold;
}

.plan-price {
  font-size: 21px;
  color: #9e2505;
  display: block;
  padding-bottom: 10px;
  border-bottom: 1.5px solid #9e8d62;
}

.small-price {
  font-size: 14px;
  display: inline-block;
  padding-right: 15px;
}

/* 230829 */
.access_map {
  margin-bottom: 10%;
}

.wrapper_access {
  width: 1000px;
  min-width: 1000px;
  text-align: left;
  margin-top: 1%;
}

.clearfix2 {
  display: block;
}

.txt120 {
  line-height: 24px;
}

.access_map p.left {
  width: 500px;
  float: left;
}

.access_map p.right {
  width: 250px;
  float: right;
}

.btn2 {
  box-sizing: border-box;
  width: 275px;
  height: 46px;
  border: 1px solid #7d7d7d;
  font-size: 90%;
  color: #7d7d7d;
  text-align: center;
}

.map_btn2 {
  display: flex;
  justify-content: center;
  margin: 16px;
}

.btn2 :hover {
  opacity: 0.6 !important;
}

@media only screen and (max-width: 768px) {
  .wrapper_access {
    width: 100%;
    min-width: 100%;
    margin: 0 auto;
    padding: 0 0;
    text-align: left;
  }
  .access_map p.right {
    width: 100%;
    float: none;
    margin-top: 1%;
  }
  .btn2 {
    width: 100%;
    height: 40px;
    font-size: 12px;
    color: #7d7d7d;
  }
  .access_map {
    margin-bottom: 10%;
  }
  .txt120 {
    font-size: 14px;
    line-height: 20px;
  }
  .access_map p.left {
    width: 100%;
    float: none;
    margin-bottom: 2%;
  }
}
/* 231025 会員ログイン追加 */
@media only screen and (max-width: 768px) {
  .menu_info.login li a:before {
    content: "\f090";
    top: 72%;
  }
}
/* 231104追加 */
#plan .planarea_box .news_topic {
  margin-bottom: 0;
}

#plan .planarea_box {
  background: #f4f4f4;
  padding-bottom: 50px;
}

#plan .btn_plan {
  display: block;
  margin: auto;
  width: 28%;
  text-align: center;
  border: 1px solid #9e8b63;
  color: #9e8b63;
  padding: 10px;
}

span.komoji {
  font-size: 24px !important;
  position: relative;
  bottom: 16px;
}

@media only screen and (max-width: 768px) {
  #plan .btn_plan {
    width: 85% !important;
  }
}
/* 240125 */
.head01.business {
  margin-top: 40px;
}

/* 240129 */
@media only screen and (max-width: 768px) {
  .footer_flex_icon p {
    margin-left: 2%;
    max-width: 23.5%;
  }
  .footer_flex_icon p img {
    width: 100%;
  }
}
/* 240603 */
#fgroup .fgroup.group01 {
  padding: 80px 0 40px;
}

#fgroup .fgroup.group02 {
  padding: 40px 0 80px;
}

@media only screen and (max-width: 768px) {
  #fgroup .fgroup.group01 {
    padding: 40px 0 20px;
  }
  #fgroup .fgroup.group02 {
    padding: 20px 0 40px;
  }
}
/* 240606 */
.flex_contents {
  display: flex;
  justify-content: space-between;
  max-width: 630px;
  width: 100%;
  margin: auto;
}

#fgroup.bn_box .fltbox .flex_contents .boxR ul li {
  width: 100%;
}

li.li05.even.no_bg {
  background: none;
}

@media only screen and (max-width: 768px) {
  .flex_contents {
    flex-wrap: wrap;
  }
  .flex_contents .flex_contents_detail {
    width: 100%;
  }
  .flex_contents .flex_contents_detail:last-of-type {
    margin-top: 10%;
  }
}
#onlineshop {
  width: 100%;
  padding: 0 0 80px 0;
  text-align: center;
}

#onlineshop a {
  transition: 0.3s;
}

#onlineshop a:hover {
  opacity: 0.8;
}

@media only screen and (max-width: 768px) {
  #onlineshop img {
    width: 100%;
  }
}
.checkinout_txt {
  color: #fff;
  font-size: 13px;
}

@media only screen and (max-width: 768px) {
  .btm_sns .checkinout_txt {
    margin-top: 10px;
  }
}
/* 241008_front_navi */
ul.front_navi_menu {
  background: #000;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}

ul.front_navi_menu li {
  width: 20%;
  text-align: center;
  padding: 3% 0;
}

ul.front_navi_menu li a {
  color: #fff;
  font-size: 11px;
}

ul.front_navi_menu li a span {
  display: block;
  width: 30px;
  margin: 0 auto 6%;
}

ul.front_navi_menu li a span img {
  max-width: 100%;
  height: auto;
}

/* 251001 */
#fgroup .fgroup.group01 {
  padding: 80px 0;
}

@media only screen and (max-width: 768px) {
  #fgroup .fgroup.group01 {
    padding: 40px 0;
  }
}
.img_flex {
  display: flex;
  justify-content: center;
}

.button-02 {
  padding: 13px 66px;
  background-color: #a38b4c;
  font-size: 16px;
  border: solid 2px #a38b4c;
}

.button-02 a {
  color: #fff;
}

.button-02:hover {
  background: #fff;
  transition: 1s;
}

.button-02:hover a {
  color: #a38b4c;
}

.pd1 {
  padding: 0 1%;
}

.row-buttons {
  display: flex;
  justify-content: center;
  margin-top: 2%;
}

/* 230713 */
.topics_banner {
  max-width: 1000px;
  width: 1000px;
  margin: 30px auto 80px;
}

.topics_banner a img {
  max-width: 100%;
  height: auto;
}

.topics_banner a {
  display: block;
}

.topics_banner a:hover {
  opacity: 0.8;
}

@media only screen and (max-width: 768px) {
  .row-buttons {
    display: flex;
    justify-content: center;
    padding-top: 2%;
  }
  .button-02 {
    padding: 13px 66px;
    background-color: #a38b4c;
    font-size: 16px;
    border: solid 2px #a38b4c;
  }
  .img_flex {
    text-align: center;
    display: block;
  }
  .img80 {
    width: 90%;
  }
  /* 230713 */
  .topics_banner {
    width: 90%;
    margin: 5% auto 17%;
  }
}
/* top_contents */
#top_contents {
  margin-top: 90px;
  width: 100%;
  background: #1e1e1e;
}

@media screen and (max-width: 1414px) {
  #top_contents {
    margin-top: 180px;
    width: 100%;
    background: #1e1e1e;
  }
}
#top_contents .boxL {
  width: 30%;
  box-sizing: border-box;
  height: 280px;
  position: relative;
}

#top_contents .boxR {
  width: 70%;
  height: 280px;
}
@media only screen and (max-width: 768px) {
  #top_contents .boxR {
    height: auto;
  }
}

#top_contents .boxR p {
  height: 100%;
}

#top_contents .boxR img {
  vertical-align: bottom;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left;
     object-position: left;
}

#top_contents .boxL h2 {
  font-size: 34px;
  font-family: "Spectral SC", serif;
  font-weight: 500;
  color: #a38b4c;
  margin-bottom: 30px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#top_contents .boxL h2 span {
  display: block;
  font-size: 14px;
  font-family: YuMincho, "Yu Mincho", serif;
}

#top_contents .boxL p {
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.4;
  color: #a38b4c;
}

#top_contents .top_contents .top_line {
  font-size: 22px;
  text-align: center;
  font-family: YuMincho, "Yu Mincho", serif;
  color: #fff;
  padding: 50px;
}

#top_contents .top_contents .top_line span {
  display: inline-block;
  border-bottom: 2px solid #b1a180;
}

#top_contents .top_contents .top_contents_txt {
  background: #333;
  text-align: center;
  padding: 55px 0;
}

#top_contents .top_contents .top_contents_txt h3 {
  color: #c1b499;
  font-size: 24px;
}

#top_contents .top_contents .top_contents_txt .txt {
  font-size: 16px;
  color: #fff;
  line-height: 1.8;
  margin: 35px auto;
}

#top_contents .top_contents .top_contents_txt .line_clock {
  display: inline-block;
  font-size: 14px;
  color: #fff;
  padding-bottom: 5px;
  border-bottom: 2px solid #b1a180;
}

#top_contents .top_contents .top_contents_txt .line_clock i {
  font-size: 22px;
  color: #b1a07f;
}

#top_contents .top_contents .top_contents_txt .line_clock span {
  font-size: 22px;
}

@media only screen and (max-width: 768px) {
  /*----------------------------------------------------
  	☆main
  ----------------------------------------------------*/
  /* top */
  #top_contents {
    margin-top: 60px;
  }
  #top_contents .boxL {
    width: 100%;
    height: initial;
    position: initial;
    padding: 4%;
  }
  #top_contents .boxR {
    width: 100%;
  }
  #top_contents .boxR img {
    width: 100%;
  }
  #top_contents .boxL h2 {
    position: initial;
    font-size: 20px;
    margin-bottom: 3px;
    transform: initial;
    text-align: center;
    padding-top: 3px;
  }
  #top_contents .boxL h2 span {
    font-size: 10px;
  }
  #top_contents .boxL p {
    font-size: 12px;
  }
  #top_contents .top_contents .top_line {
    font-size: 17px;
    padding: 4%;
    line-height: 1.4;
  }
  #top_contents .top_contents .top_contents_txt {
    margin: 0 auto;
    padding: 20px 0;
  }
  #top_contents .top_contents .top_contents_txt h3 {
    font-size: 18px;
    font-weight: 500;
  }
  #top_contents .top_contents .top_contents_txt .txt {
    width: 93%;
    font-size: 12px;
    line-height: 1.6;
    margin: 10px auto;
  }
  #top_contents .top_contents .top_contents_txt .line_clock {
    font-size: 12px;
    padding-bottom: 5px;
    border-bottom: 1px solid #b1a180;
  }
  #top_contents .top_contents .top_contents_txt .line_clock i,
  #top_contents .top_contents .top_contents_txt .line_clock span {
    font-size: 18px;
  }
}
/* 240228 */
#top_contents_gw {
  margin-top: 90px;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  #top_contents_gw {
    margin-top: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1500px) {
  #top_contents_gw {
    margin-top: 180px;
  }
}
#concept #linkcard .flink02,
#faq #linkcard .flink02,
#privacy #linkcard .flink02,
#special #linkcard .flink02 {
  display: none;
}

#restaurant #linkcard .flink01,
#service #linkcard .flink01,
#facility #linkcard .flink01,
#members #linkcard .flink01 {
  display: none;
}

/* flink */
#linkcard,
#flink {
  width: 100%;
  padding: 30px 0 90px;
}
@media only screen and (max-width: 768px) {
  #linkcard,
  #flink {
    padding: 40px 0;
  }
}
#linkcard .flink,
#flink .flink {
  width: 93%;
  max-width: 1200px;
  margin: 0 auto;
}
#linkcard .flink ul,
#flink .flink ul {
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
#linkcard .flink li,
#flink .flink li {
  border: 1px solid #332f00;
  background: #fff;
  text-align: center;
}
#linkcard .flink li a,
#flink .flink li a {
  display: flex;
  flex-flow: row wrap;
}
#linkcard .flink li a:hover,
#flink .flink li a:hover {
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}
#linkcard .flink li a .more,
#flink .flink li a .more {
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-family: YuGothic, "Yu Gothic", sans-serif;
  background: #332f00;
  display: block;
  font-weight: 500;
  padding: 20px;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  #linkcard .flink li a .more,
  #flink .flink li a .more {
    font-size: 13px;
    padding: 10px;
  }
}
#linkcard .flink li a .more i,
#flink .flink li a .more i {
  font-size: 18px;
  padding-right: 10px;
}
@media only screen and (max-width: 768px) {
  #linkcard .flink li a .more i,
  #flink .flink li a .more i {
    font-size: 18px;
    padding-right: 5px;
  }
}
#linkcard .flink li .text,
#flink .flink li .text {
  font-size: 16px;
  color: #1f1f1f;
  font-weight: bold;
  margin-top: 25px;
}
@media only screen and (max-width: 768px) {
  #linkcard .flink li .text,
  #flink .flink li .text {
    font-size: 13px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
#linkcard .flink li h2,
#flink .flink li h2 {
  font-weight: 500;
  font-size: 26px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #linkcard .flink li h2,
  #flink .flink li h2 {
    font-size: 18px;
  }
}
#linkcard .flink li h2::after,
#flink .flink li h2::after {
  content: "";
  height: 1px;
  width: 37px;
  background: #cccccc;
  display: block;
  position: absolute;
  bottom: -14px;
  left: 50%;
  margin-left: -18.5px;
}
@media only screen and (max-width: 768px) {
  #linkcard .flink li h2::after,
  #flink .flink li h2::after {
    bottom: -20%;
    left: 50%;
    margin-left: -18.5px;
  }
}
#linkcard .flink li .flinklogo,
#flink .flink li .flinklogo {
  margin-top: 18px;
  margin-bottom: 18px;
}
@media only screen and (max-width: 768px) {
  #linkcard .flink li .flinklogo,
  #flink .flink li .flinklogo {
    margin-top: 5px;
    margin-bottom: 5px;
    width: 55%;
  }
}
#linkcard .flink li .flinkfont i,
#flink .flink li .flinkfont i {
  margin-top: 28px;
  margin-bottom: 28px;
  width: 70px;
  height: 70px;
  background: #b1a180;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 70px;
  font-size: 30px;
}
@media only screen and (max-width: 768px) {
  #linkcard .flink li .flinkfont i,
  #flink .flink li .flinkfont i {
    margin-top: 8px;
    margin-bottom: 8px;
    width: 50px;
    height: 50px;
    line-height: 55px;
  }
}
#linkcard .flink li .img,
#flink .flink li .img {
  align-self: stretch;
}
#linkcard .flink li .img img,
#flink .flink li .img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
#linkcard .flink01 li,
#flink .flink01 li {
  width: 580px;
}
#linkcard .flink01 li .flinktxt,
#flink .flink01 li .flinktxt {
  width: 38%;
}
#linkcard .flink01 li .img,
#flink .flink01 li .img {
  width: 62%;
}
#linkcard .flink02 li,
#flink .flink02 li {
  width: 992px;
}
#linkcard .flink02 li .flinktxt,
#flink .flink02 li .flinktxt {
  width: 22%;
}
#linkcard .flink02 li .img,
#flink .flink02 li .img {
  width: 78%;
}

.topics_banner {
  width: 96%;
  max-width: 1200px;
  margin: 0 auto 30px;
  margin: 30px auto 80px;
}
.topics_banner a {
  display: block;
}
.topics_banner a .sponly {
  display: none;
}
@media only screen and (max-width: 768px) {
  .topics_banner a .sponly {
    display: block;
  }
}
.topics_banner a .pconly {
  display: block;
}
@media only screen and (max-width: 768px) {
  .topics_banner a .pconly {
    display: none;
  }
}

#model-course-navi {
  width: 100%;
  padding: 8rem 0;
}
@media only screen and (max-width: 768px) {
  #model-course-navi {
    padding: 4rem 0;
  }
}
#model-course-navi h2 {
  text-align: center;
  color: #93845e;
  font-size: 2.2rem;
  font-family: YuMincho, "Yu Mincho", serif;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  #model-course-navi h2 {
    font-size: 1.8rem;
  }
}
#model-course-navi h2.head01 {
  font-size: 40px;
  font-family: "Spectral SC", serif;
  font-weight: 400;
  color: #b1a281;
  text-align: center;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #model-course-navi h2.head01 {
    font-size: 24px;
  }
}
#model-course-navi h2.head01 span {
  display: block;
  color: #b1a281;
  font-size: 20px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  #model-course-navi h2.head01 span {
    font-size: 15px;
  }
}
#model-course-navi nav {
  width: 96%;
  max-width: 1200px;
  margin: 0 auto;
}
#model-course-navi ul {
  display: flex;
  flex-flow: row wrap;
  gap: 2rem;
  justify-content: center;
}
#model-course-navi ul li {
  width: calc((100% - 4rem) / 3);
}
@media only screen and (max-width: 768px) {
  #model-course-navi ul li {
    width: 90%;
  }
}
#model-course-navi ul li a {
  display: block;
  position: relative;
  aspect-ratio: 3/2;
  overflow: hidden;
}
#model-course-navi ul li a figure {
  height: 100%;
}
#model-course-navi ul li a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.5s;
}
#model-course-navi ul li a h3 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1em 0.7em;
  color: #fff;
  line-height: 1.4;
  transition: 0.5s;
}
@media only screen and (max-width: 768px) {
  #model-course-navi ul li a h3 {
    font-size: 1.6rem;
  }
}
#model-course-navi ul li a:hover img {
  transform: scale(1.1);
}
#model-course-navi ul li.osaka a:hover h3 {
  background-color: rgba(112, 9, 9, 0.5);
}
#model-course-navi ul li.osaka h3 {
  background-color: rgba(112, 9, 9, 0.9);
}
#model-course-navi ul li.kyoto a:hover h3 {
  background-color: rgba(101, 106, 79, 0.5);
}
#model-course-navi ul li.kyoto h3 {
  background-color: rgba(101, 106, 79, 0.9);
}
#model-course-navi ul li.commingsoon a {
  pointer-events: none;
}
#model-course-navi ul li.commingsoon a figure {
  background-color: #f4f4f4;
}
#model-course-navi ul li.commingsoon a h3 {
  color: #93845e;
  background-color: rgba(244, 244, 244, 0.9);
}
@media only screen and (max-width: 768px) {
  #model-course-navi ul li.commingsoon {
    display: none;
  }
}

#access {
  width: 100%;
  padding: 40px 0 40px 0;
  background: #f4f4f4;
  font-size: 15px;
  font-weight: 500;
  font-family: YuMincho, "Yu Mincho", serif;
}

#access .btn_clear {
  width: 100%;
  text-align: center;
}

.accessTbl {
  width: 1200px;
  margin: auto;
  border: 1px solid #b1a281;
  border-collapse: collapse;
  font-size: 13px;
}

.accessTbl tr {
  border: 1px solid #b1a281;
  border-collapse: collapse;
}

.accessTbl tr td {
  border: 1px solid #b1a281;
  border-collapse: collapse;
  width: 20%;
  padding: 10px 0 10px 10px;
  box-sizing: border-box;
  text-align: center;
  vertical-align: top;
}

.accessTbl tr td div {
  margin-bottom: 10px;
}

.accessTbl tr td div:last-of-type {
  margin-bottom: 0;
}

.accessTbl tr td div h3 {
  color: #b1a281;
  padding: 15px 0;
}

.accessTbl tr td div h3 span {
  margin-right: 5px;
  font-size: 20px;
  padding: 10px 0;
}

.accessTbl tr td div dl {
  margin: 0 0 10px 0;
  text-align: left;
}

.accessTbl tr td div dl dt {
  width: 100%;
  font-weight: bold;
  padding: 5px 0 10px 0;
}

.accessTbl tr td div dl dd {
  width: 100%;
  margin: 0 0 15px 0;
  font-size: 13px;
  line-height: 1.7em;
}

.accessTbl tr td div p span {
  margin: 0 5px;
  font-size: 20px;
  font-weight: bold;
  color: #b1a281;
}

@media only screen and (max-width: 768px) {
  #access {
    padding: 40px 0 40px 0;
    background: #f4f4f4;
  }
  #access .btn_clear {
    width: 100%;
    text-align: center;
    margin-top: 20px !important;
  }
  .sp_line img {
    width: 100%;
  }
  .accessTbl {
    width: 95%;
    margin: auto;
    border: 1px solid #b1a281;
    border-bottom: none;
    font-size: 13px;
  }
  .accessTbl tr {
    border: none;
  }
  .accessTbl tr td {
    border: none;
    border-bottom: 1px solid #b1a281;
    float: left;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    text-align: center;
  }
  .accessTbl tr td div {
    margin-bottom: 10px;
  }
  .accessTbl tr td div:last-of-type {
    margin-bottom: 0;
  }
  .accessTbl tr td div h3 {
    color: #b1a281;
    padding: 10px 0;
  }
  .accessTbl tr td div h3 span {
    margin-right: 5px;
    font-size: 18px;
  }
  .accessTbl tr td div dl {
    margin: 0 0 10px 0;
    text-align: left;
  }
  .accessTbl tr td div dl dt {
    width: 20%;
    font-weight: bold;
    display: inline-block;
    vertical-align: top;
    margin-top: 10px;
  }
  .accessTbl tr td div dl dd {
    width: 65%;
    margin: 0 0 0 10%;
    display: inline-block;
    line-height: 2em;
  }
  .accessTbl tr td div p span {
    margin: 0 5px;
    font-size: 20px;
    font-weight: bold;
    color: #b1a281;
  }
}
/*会員特典*/
.tokuten {
  max-width: 1000px;
  width: 95%;
  margin: 60px auto;
}
.tokuten a {
  font-size: 20px;
  padding: 1rem 10rem;
  color: #9f864c;
  background: #efeadf;
  box-shadow: 0 5px 0 #9e2505;
  width: 100%;
  height: auto;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  cursor: pointer !important;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 0.3rem;
  border: none;
  text-align: left;
  padding-bottom: 20px;
  box-shadow: 5px 5px 0 #9e2505;
}
.tokuten a p {
  font-size: 30px;
  transform: translateY(-34px);
  display: block;
  padding: 0.2rem 0.8rem;
  color: #fff;
  border: 2px solid #9e2505;
  border-radius: 0.5rem;
  background: #9e2505;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  font-weight: normal;
  text-align: center;
}
.tokuten a dl {
  display: flex;
  flex-flow: row nowrap;
}
@media only screen and (max-width: 768px) {
  .tokuten a dl {
    flex-flow: column wrap;
    margin-top: 1em;
  }
  .tokuten a dl:first-child {
    margin-top: 0;
  }
}
.tokuten a dl dt {
  white-space: nowrap;
  margin-right: 1em;
}
@media only screen and (max-width: 768px) {
  .tokuten a dl dt {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .tokuten a {
    font-size: 12px;
    padding: 0.25rem 2rem;
  }
  .tokuten a span {
    font-size: 18px;
    margin-top: -20px;
  }
}

/*----------------------------------------------------
	☆header
----------------------------------------------------*/
#header {
  width: 100%;
  background: #1e1e1e;
  position: fixed;
  top: 0;
  z-index: 10;
}
#header .inr {
  width: 100%;
  /* max-width: 1530px; */
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}

#header .headerleft {
  height: 90px;
  line-height: 90px;
  flex: 1 1 auto;
}

#header .headerleft .logo {
  width: 40px;
  float: left;
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 25px;
  height: 41px;
  line-height: 41px;
}
#header .headerleft .logo.top_logo {
  display: none;
}
#header .headerleft .logo.sub_logo {
  display: block;
}

#toppage #header .headerleft .logo.top_logo {
  display: block;
}
#toppage #header .headerleft .logo.sub_logo {
  display: none;
}

#header .headerleft .logo img {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  #header .headerleft .logo img {
    width: 130px;
  }
}

#header .headerleft ul {
  width: 800px;
  float: left;
  font-size: 0;
}

#header .headerleft li {
  display: inline-block;
}

#header .headerleft li.gpla {
  width: 80px;
}

#header .headerleft li a {
  padding: 0 10px;
  display: block;
  text-align: center;
  color: #fff;
  font-family: "Spectral SC", serif;
  font-weight: 400;
  font-size: 16px;
  position: relative;
}

#header .main-navi li a span {
  display: block;
}
#header .main-navi li a .ja {
  font-size: 14px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 1px;
  transition: 0.3s ease-in-out;
  opacity: 0;
}
#header .main-navi li a:hover .en {
  opacity: 0;
}
#header .main-navi li a:hover .ja {
  opacity: 1;
}

#header {
  transition: all 0.3s ease-in-out;
}
#header.fixed {
  background: rgb(30, 30, 30);
  transition: all 0.3s ease-in-out;
}

@media only screen and (max-width: 1240px) {
  #wrap #header .headerleft ul {
    width: 600px;
  }
  #wrap #header .headerleft li a::after {
    font-size: 12px;
  }
  #wrap #header .headerright li a {
    font-size: 12px;
    width: 140px;
  }
  #wrap #header .headerright .ulbox li.li01 a {
    text-indent: 15px;
  }
  #wrap #header .headerright .ulbox li.li01 a:before {
    left: -5px;
    top: 0px;
  }
  #wrap #header .headerright .ulbox li.li02 a {
    text-indent: 10px;
  }
  #wrap #header .headerright .ulbox li.li02 a:before {
    left: 10px;
    top: 0px;
  }
  #wrap #header .headerright .ulbox li.li03 a:before {
    left: -10px;
  }
  #wrap #header .headerright .ulbtmbox li.li01 a {
    text-indent: 10px;
  }
  #wrap #header .headerright .ulbtmbox li.li01 a:before {
    left: 0;
  }
  #wrap #header .headerright .ulbtmbox li.li02 a:before {
    content: "\f0ac";
    font-family: FontAwesome;
    position: absolute;
    left: 15px;
  }
}
#header .headerleft a:hover .ja {
  display: inline;
}

/*  */
#header .headerright {
  margin-left: auto;
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-end;
}
@media only screen and (max-width: 768px) {
  #header .headerright {
    display: none;
  }
}
#header .headerright .ulbox {
  font-size: 0;
  line-height: 30px;
  height: 30px;
  display: flex;
  flex-flow: row nowrap;
  margin-top: 10px;
  text-align: end;
}

#header .headerright .ulbtmbox {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  font-size: 0;
  line-height: 30px;
  position: relative;
  margin-top: 10px;
  height: 30px;
  margin-bottom: 10px;
  padding-right: 20px;
}

#header .headerright li a {
  display: block;
  min-width: 150px;
  text-align: center;
  line-height: 1;
  color: #fff;
  font-family: "Spectral", serif;
  font-weight: 600;
  font-size: 13px;
  position: relative;
  padding: 0.6em 20px;
}
#header .headerright li a:hover {
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}
#header .headerright li.li01 a {
  background: #666666;
}
#header .headerright li.li01 a::before {
  content: "\f0e0";
  font-family: FontAwesome;
  position: relative;
  margin-right: 15px;
  display: inline-block;
}

#header .headerright .ulbox li.li02 a {
  background: #ba9812;
}
#header .headerright .ulbox li.li02 a::before {
  content: "\f236";
  font-family: FontAwesome;
  position: relative;
  margin-right: 15px;
  display: inline-block;
}

#header .headerright .ulbox li.li03 a {
  background: #9e8d62;
}

#header .headerright .ulbox li.li03 a:before {
  content: "\f072";
  font-family: FontAwesome;
  position: relative;
  margin-right: 15px;
  display: inline-block;
}

#header .headerright .ulbox li.li04 a {
  background: #584730;
}

#header .headerright .ulbox li.li04 a:before {
  content: "\f0f7";
  font-family: FontAwesome;
  position: relative;
  margin-right: 15px;
  display: inline-block;
}

#header .headerright .ulbtmbox a {
  font-family: "Spectral", serif;
  font-weight: 600;
  font-size: 18px;
  text-align: center;
}

#header .headerright .ulbtmbox li.li01 a:before {
  content: "\f095";
  font-family: FontAwesome;
  position: relative;
  margin-right: 15px;
  display: inline-block;
}

#header .headerright .ulbtmbox li.li02 a {
  text-align: center;
}

#header .headerright .ulbtmbox li.li02 a:before {
  content: "\f0ac";
  font-family: FontAwesome;
  position: relative;
  margin-right: 15px;
  display: inline-block;
}

#header .headerright .ulbtmbox li.li03 a {
  text-align: center;
}

#header .headerright .ulbtmbox li.li03 a:before {
  content: "\f059";
  font-family: FontAwesome;
  position: relative;
  margin-right: 15px;
  display: inline-block;
}

#header .headerright .ulbtmbox li.li02 .li02menu {
  display: none;
  position: absolute;
}
#header .headerright .ulbtmbox li.li02 .li02menu li {
  display: block;
}
#header .headerright .ulbtmbox li.li02 .li02menu li a {
  display: block;
  background: rgba(0, 0, 0, 0.6);
  text-align: left;
}

@media only screen and (max-width: 768px) {
  /*----------------------------------------------------
  ☆header
  ----------------------------------------------------*/
  #header {
    height: 60px;
  }
  #header .inr {
    max-width: initial;
    padding: 0;
  }
  #header .headerleft {
    float: none;
    position: relative;
    height: 60px;
  }
  #wrap #header .headerleft ul {
    width: 100%;
    background: #444;
  }
  #header .headerleft .logo {
    width: 100%;
    float: none;
    padding-right: 0;
    text-align: center;
    line-height: 60px;
    margin: 0;
    height: 60px;
  }
  #header .headerleft ul {
    color: #fff;
    line-height: initial;
  }
  #header .global p {
    width: 50px;
    font-size: 10px;
    text-align: center;
    position: absolute;
    top: 10px;
    left: 4%;
    cursor: pointer;
  }
  #header .global p i {
    font-size: 24px;
  }
  #header .globalmenu {
    display: none;
    width: 100%;
    position: fixed;
    top: 60px;
    border-left: 1px solid #444;
    border-right: 1px solid #444;
    border-bottom: 1px solid #444;
    width: -moz-max-content;
    width: max-content;
  }
  #header .globalmenu li {
    width: 100%;
    border-top: 1px solid #444;
  }
  #header .globalmenu li a {
    display: block;
    color: #444;
    font-size: 14px;
    background: #fff;
    padding: 0.3em;
  }
}
/*20190329*/
#wrap #header .headerleft ul {
  width: unset;
}

#header .headerright .ulbtmbox li.li03 {
  margin-left: -15px;
}

#header .headerright .ulbtmbox li.li04 {
  vertical-align: middle;
  width: 28px;
}

#header .headerright .ulbtmbox li.li04 a {
  width: 28px !important;
}

#header .headerright .ulbtmbox li.li05 {
  vertical-align: middle;
  margin-right: 50px;
}

#header .headerright .ulbtmbox li.li05 a {
  width: 28px !important;
}

#header .headerright .ulbtmbox li.li04 img {
  width: 18px;
}

#header .headerright .ulbtmbox li.li05 img {
  width: 18px;
}

@media only screen and (max-width: 768px) {
  #header .headerleft .inc_pcHide {
    display: flex;
    flex-direction: row-reverse;
    position: absolute;
    width: 24px;
    height: 24px;
    margin-top: 5px;
    top: 13px;
    right: 40px;
    background: none !important;
  }
  #header .headerleft .inc_pcHide li {
    width: unset;
  }
  #header .headerleft .inc_pcHide li.ico_sp01 img {
    width: 23px;
  }
  #header .headerleft .inc_pcHide li.ico_sp02 img {
    width: 23px;
  }
  #header .headerleft .inc_pcHide li.ico_sp03 img {
    width: 23px;
  }
  ul.nav_box {
    background-color: #000;
    margin: 0;
    overflow: hidden;
    font-size: 0;
    display: flex;
    flex-flow: row wrap;
  }
  ul.nav_box li {
    display: inline-block;
    width: 50%;
    margin: 0;
    text-align: center;
    background-color: #333;
    border-bottom: 1px solid #fff;
  }
  ul.nav_box li:nth-child(2n+1) {
    border-right: 1px solid #fff;
  }
  ul.nav_box li a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    color: #fff;
    line-height: 1.2;
    padding: 0.8em 0;
    height: 100%;
  }
  ul.nav_box_btm {
    background-color: #000;
    margin: 0;
    padding: 0;
    overflow: hidden;
    clear: both;
    padding: 7px;
    font-size: 0;
  }
  ul.nav_box_btm li {
    display: inline-block;
    line-height: 20px;
    width: 50%;
    margin: 0;
    text-align: left;
    background-color: #000;
  }
  ul.nav_box li:nth-last-of-type(1) a,
  ul.nav_box li:nth-last-of-type(2) a {
    border-bottom: 0;
  }
  ul.nav_box_btm li a {
    color: #fff;
    display: block;
    font-size: 10px;
    text-indent: 10px;
    position: relative;
  }
  ul.nav_box_btm li a:before {
    font-family: "FontAwesome";
    content: "\f105";
    padding-right: 5px;
  }
  ul.nav_box li:nth-of-type(even) a,
  ul.nav_box_btm li:nth-of-type(even) a {
    border-right: 0;
  }
  ul.nav_box li a:hover,
  ul.nav_box_btm li a:hover {
    text-decoration: none;
  }
}
/* 230927 PCロゴ変更 */
@media only screen and (min-width: 769px) {
  #header .headerleft .logo {
    width: 70px;
    margin-left: 0;
    margin-right: 20px;
    margin-top: 10px;
    height: 43px;
  }
}
html[lang=en] .lang-select_child-item a[data-stt-changelang=en],
html[lang=zh-TW] .lang-select_child-item a[data-stt-changelang=zh-TW],
html[lang=zh-CN] .lang-select_child-item a[data-stt-changelang=zh-CN],
html[lang=ko] .lang-select_child-item a[data-stt-changelang=ko] {
  color: #ba9812 !important;
}

/* fbox */
#fbox {
  width: 100%;
  margin-bottom: 1%;
}
#fbox ul {
  width: 100%;
  margin: 0 auto;
  font-size: 0;
  display: flex;
  flex-flow: row wrap;
}
#fbox ul li {
  display: block;
  width: 25%;
  position: relative;
  aspect-ratio: 1;
  min-height: 25vw;
}
@media only screen and (max-width: 768px) {
  #fbox ul li {
    width: 50%;
    min-height: 50vw;
  }
}
#fbox ul li span i {
  display: block;
  position: absolute;
  top: -50px;
  left: 50%;
  margin-left: -50px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #332f00;
  border: 1px solid #e8e3de;
  font-size: 40px;
  color: #fff;
  text-align: center;
  line-height: 100px;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  #fbox ul li span i {
    top: -20px;
    margin-left: -20px;
    width: 40px;
    height: 40px;
    font-size: 20px;
    line-height: 40px;
  }
}
#fbox ul li a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
#fbox ul li a::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  transition: all 0.3s ease-out;
  background-repeat: no-repeat;
  background-size: cover;
}
#fbox ul li a h2 {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 32px;
  color: #fff;
  font-family: "EB Garamond", serif;
  text-align: center;
  bottom: 5%;
  font-weight: 500;
  padding-top: 60%;
}
@media only screen and (max-width: 768px) {
  #fbox ul li a h2 {
    font-size: 20px;
    bottom: 30%;
  }
}
#fbox ul li a h2 strong {
  font-weight: normal;
}
#fbox ul li a h2 strong::after {
  display: block;
  content: "";
  height: 1px;
  width: 37px;
  background: #fff;
  margin: 0.5em auto 0;
}
#fbox ul li a h2 span {
  margin-top: 30px;
  display: block;
  font-size: 18px;
  font-family: YuMincho, "Yu Mincho", serif;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #fbox ul li a h2 span {
    font-size: 14px;
    margin-top: 20px;
  }
}

#fbox ul li.li01 a:after {
  background-image: url("/cmn/cmn_img/box01.jpg");
}

#fbox ul li.li02 a:after {
  background-image: url("/cmn/cmn_img/box02.jpg");
}

#fbox ul li.li03 a:after {
  background-image: url("/cmn/cmn_img/box03.jpg");
}

#fbox ul li.li04 a:after {
  background-image: url("/cmn/cmn_img/box04-1.jpg");
}

#fbox ul li a:hover:after {
  transform: scale(1.1);
}

#fb {
  width: 100%;
  padding: 80px 0 80px 0;
}

.fb-block {
  display: flex;
  justify-content: center;
}

.facebook_wrap {
  margin-left: auto;
  margin-right: auto;
  width: 27%;
}

.fb-page,
.fb-page span,
.facebook_wrap iframe {
  width: 100% !important;
  height: 500px !important;
}

#map {
  width: 100%;
  padding-top: 80px;
}

/* footer */
#footer {
  width: 100%;
  background: #141414;
  padding: 50px 0;
}

#footer .footer {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

#footer .footer .ul01 {
  margin-bottom: 20px;
}

#footer .footer .ul01 li {
  display: inline-block;
}

#footer .footer .ul01 li a {
  display: block;
  color: #fff;
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 15px;
  padding: 0 5px;
  text-indent: 20px;
  position: relative;
}

#footer .footer .ul02 li {
  display: inline-block;
}

#footer .footer .ul02 li a {
  display: block;
  color: #fff;
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 10px;
  padding: 0 8px;
  position: relative;
  border-left: 1px solid #fff;
}

#footer .footer .ul02 li:nth-last-of-type(1) a {
  border-right: 1px solid #fff;
}

#footer .footer .ul01 li a:before {
  content: "\f0a9";
  font-family: FontAwesome;
  position: absolute;
  left: -11px;
}

/* footerbox */
#footer .fbox02 {
  margin-top: 60px;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  #footer .fbox02 {
    flex-flow: column wrap;
    align-items: center;
  }
}
#footer .fbox02 .logo a {
  display: block;
}
#footer .fbox02 .adds {
  width: calc(100% - 430px);
  font-size: 13px;
  color: #fff;
  line-height: 1.8;
  font-family: YuMincho, "Yu Mincho", serif;
  padding: 0 20px;
}
@media only screen and (max-width: 768px) {
  #footer .fbox02 .adds {
    width: 100%;
    padding: 0;
  }
}
#footer .fbox02 .adds .footer_flex_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  #footer .fbox02 .adds .footer_flex_box {
    flex-flow: column wrap;
    align-items: center;
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  #footer .fbox02 .adds .txt02 {
    font-size: 12px;
  }
}
#footer .fbox02 .adds .btn_footer a {
  display: block;
  font-size: 15px;
  color: #fff;
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-weight: bold;
  padding: 10px 20px;
  width: 240px;
  border: 1px solid #fff;
  margin: 15px 0;
}
#footer .fbox02 .adds .btn_footer a::before {
  content: "\f041";
  font-family: FontAwesome;
  padding-right: 10px;
}
#footer .fbox02 .footer_bnr {
  display: flex;
  flex-flow: column nowrap;
  width: 230px;
  gap: 10px;
}
#footer .fbox02 .footer_bnr .copyright {
  color: #fff;
  font-family: "EB Garamond", serif;
  font-size: 15px;
  text-align: center;
}

/* 200827 フッターアイコン追加 */
.footer_flex_icon {
  display: flex;
}

.footer_flex_icon p {
  margin-left: 20px;
}

.footer_flex_icon.sponly {
  display: none;
}

.footer_bn.nopc {
  display: none;
}

@media only screen and (max-width: 768px) {
  .footer_flex_box {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  .footer_flex_icon.sponly {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0;
  }
  .footer_flex_icon p:first-child {
    margin-left: 0;
  }
  .footer_bn.nopc {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 768px) {
  /* footer */
  #footer {
    width: 100%;
    background: #141414;
    padding: 50px 0 40px;
  }
  #footer .footer {
    width: 93%;
    margin: 0 auto;
  }
  #footer .footer .ul01 {
    margin-bottom: 20px;
  }
  #footer .footer .ul01 li {
    display: inline-block;
  }
  #footer .footer .ul01 li a {
    display: block;
    color: #fff;
    font-family: YuMincho, "Yu Mincho", serif;
    font-size: 15px;
    padding: 0 5px;
    text-indent: 20px;
    position: relative;
  }
  #footer .footer .ul02 {
    /*! margin-bottom: 60px; */
  }
  #footer .footer .ul02 li {
    display: inline-block;
  }
  #footer .footer .ul02 li a {
    display: block;
    color: #fff;
    font-family: YuMincho, "Yu Mincho", serif;
    font-size: 10px;
    padding: 0 8px;
    position: relative;
    border-left: 1px solid #fff;
  }
  #footer .footer .ul02 li:nth-last-of-type(1) a {
    border-right: 1px solid #fff;
  }
  #footer .footer .ul01 li a:before {
    content: "\f0a9";
    font-family: FontAwesome;
    position: absolute;
    left: -11px;
  }
  /* footerbox */
  #footer .footer .fbox02 {
    margin-top: 0;
  }
  #footer .footer .fbox02 .boxL {
    width: 100%;
  }
  #footer .footer .fbox02 .boxL .fltbox .logo {
    float: none;
    width: 40%;
    margin: 0 auto 10px;
  }
  #footer .footer .fbox02 .boxL .fltbox .logo img {
    width: 100%;
  }
  #footer .footer .fbox02 .boxL .fltbox .adds {
    float: none;
    width: 100%;
    text-align: center;
  }
  #footer .footer .fbox02 .boxL .fltbox .adds .btn_footer a {
    font-size: 14px;
    margin: 15px auto;
  }
  #footer .footer .fbox02 .boxL .fltbox .adds .btn_footer a:before {
    content: "\f041";
    font-family: FontAwesome;
    padding-right: 10px;
  }
  #footer .footer .fbox02 .boxL .fltbox .adds .add,
  #footer .footer .fbox02 .boxL .fltbox .adds .txt02 {
    font-size: 12px;
    color: #fff;
    line-height: 1.5;
    font-family: YuMincho, "Yu Mincho", serif;
  }
  #footer .footer .fbox02 .boxL .fltbox .boxR {
    text-align: center;
  }
  #footer .footer .fbox02 .boxL .boxR small {
    display: block;
    font-size: 10px;
    text-align: center;
  }
}
#footer .fbox01 {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
#footer .fbox01 .boxL {
  width: 60%;
}
#footer .fbox01 .boxR {
  width: 40%;
}

#footer .ulbox {
  display: flex;
  flex-flow: column nowrap;
}
#footer .ulbox li a {
  color: #fff;
}
#footer .ulbox li a:hover {
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}

#footer .ulbox_top {
  height: auto;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
#footer .ulbox_top li p {
  display: flex;
  height: 100%;
}
#footer .ulbox_top li p a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  font-family: "Spectral", serif;
  font-weight: 600;
  font-size: 12px;
  position: relative;
  padding: 0.6em 1.2em;
}
#footer .ulbox_top li p a::before {
  font-family: FontAwesome;
  position: relative;
  margin-right: 15px;
  display: inline-block;
}
#footer .ulbox_top li.li01 a {
  background: #666666;
}
#footer .ulbox_top li.li01 a::before {
  content: "\f105";
}
#footer .ulbox_top li.li02 a {
  background: #9e8d62;
  background: #ba9812;
}
#footer .ulbox_top li.li02 a::before {
  content: "\f0ac";
}
#footer .ulbox_top li.li03 a {
  background: #333333;
}
#footer .ulbox_top li.li03 a::before {
  content: "\f0e0";
}
#footer .ulbox_top li.li04 a {
  background: #be9e15;
}
#footer .ulbox_top li.li04 a::before {
  content: "\f236";
}
#footer .ulbox_top li.car a {
  background: #9e2505;
}

#footer .ulbox_btm {
  margin-top: 10px;
  display: flex;
  justify-content: flex-end;
  gap: 1em;
}
#footer .ulbox_btm li a {
  display: block;
  font-size: 20px;
}
#footer .ulbox_btm li a::before {
  font-family: FontAwesome;
  position: relative;
  margin-right: 15px;
  display: inline-block;
}
#footer .ulbox_btm li.li01 {
  width: 180px;
}
#footer .ulbox_btm li.li01 a:before {
  content: "\f0ac";
}
#footer .ulbox_btm li.li01 .globalmenubtm {
  display: none;
  position: absolute;
  line-height: 20px;
  width: 120px;
}
#footer .ulbox_btm li.li02 a:before {
  content: "\f059";
}
#footer .ulbox_btm li.li03 a, #footer .ulbox_btm li.li04 a, #footer .ulbox_btm li.li05 a {
  width: 18px;
}

.pagetop {
  display: none;
  position: fixed;
  bottom: 91px;
  right: 8px;
}

.pagetop a {
  display: block;
  background-color: #ccc;
  text-align: center;
  color: #222;
  font-size: 35px;
  text-decoration: none;
  padding: 16px;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
}

.pagetop a:hover {
  display: block;
  background-color: #d9d9d9;
  text-align: center;
  color: #464646;
  font-size: 35px;
  text-decoration: none;
  padding: 16px;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
}

.bottommenu {
  display: none;
}
@media only screen and (max-width: 768px) {
  .bottommenu {
    position: fixed;
    bottom: 0;
    z-index: 4;
    width: 100%;
    border-collapse: collapse;
    display: flex !important;
    flex-flow: row nowrap;
  }
  .bottommenu li {
    width: 33.3333333333%;
    display: flex;
    flex-flow: column;
  }
  .bottommenu li a {
    padding: 5px;
    display: flex;
    font-size: 3vw;
    color: #fff;
    height: 100%;
    justify-content: center;
    align-items: center;
  }
  .bottommenu li a span {
    display: inline-block;
    margin-left: 0.5em;
  }
  .bottommenu li:nth-of-type(1) a {
    background: #9e2505;
  }
  .bottommenu li:nth-of-type(2) a {
    background: #ba9812;
  }
  .bottommenu li:nth-of-type(3) a {
    background: #9e8d62;
  }
}

/* top */
#top {
  background-size: cover;
  width: 100%;
  margin-bottom: 0;
  position: relative;
  background-position: 50% 100%;
  background-repeat: no-repeat;
}

#top h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  width: 35%;
  max-width: 445px;
}

#top .txt01,
#top .txt02,
#top .txt03,
#top .point_top,
#top .point_top_sp,
#top .best_rate_sp {
  position: absolute;
}

#top h2 img,
#top .txt01 img,
#top .txt02 img,
#top .txt03 img,
#top .point_top img {
  width: 100%;
}

#top .txt01 {
  right: 11%;
  top: 19%;
  width: 8%;
  max-width: 178px;
}

#top .txt02 {
  left: 11%;
  bottom: 12%;
  width: 15%;
  max-width: 250px;
}

#top .txt03 {
  bottom: 12%;
  width: 13%;
  max-width: 251px;
  left: 12%;
}

/*MVにベストレート追加*/
#top .txt03 img {
  padding-top: 15px;
}

@media only screen and (max-width: 768px) {
  #top p.txt03 img {
    padding-top: 0px;
  }
  img.nopc.sp_bestrate_mv {
    max-width: 80px;
    left: 108%;
    position: absolute;
  }
}
/*万博限定*/
p.txt003 {
  position: absolute;
  top: 16%;
  width: 13%;
  max-width: 251px;
  right: 8%;
}

p.txt003 img {
  width: 65%;
}

p.sub_text {
  text-align: center;
  margin: 0 auto 22px;
  line-height: 1.5;
  font-weight: bold;
  font-size: 17px;
  color: #877141;
}

@media only screen and (max-width: 768px) {
  /*----------------------------------------------------
  ☆top
  ----------------------------------------------------*/
  /* top */
  #top {
    /* background: url(../images/top_bk_sp.jpg) center bottom no-repeat; */
    height: 0;
    padding-top: 118.42%;
    background-size: contain;
    width: 100%;
    overflow: hidden;
  }
  #top h2 {
    width: 30%;
  }
  #top h2 img {
    width: 100%;
  }
  #top .txt01 {
    width: 18%;
  }
  #top .txt02,
  #top .txt03,
  #top .point_top_sp {
    width: 45%;
  }
  #top .txt01 img,
  #top .txt02 img,
  #top .txt03 img,
  #top .point_top_sp {
    width: 100%;
  }
  #top .txt01 {
    /* right: 3%;
        top: 19%; */
    display: none;
  }
  #top .txt02,
  #top .point_top {
    /* left: 3%;
    		bottom: 8%; */
    display: none;
  }
  #top .txt03 {
    /* bottom: 8%;
    		right: 3%; */
    left: 3%;
    bottom: 3%;
  }
}
@media only screen and (max-width: 768px) {
  p.txt003 {
    top: 80%;
  }
  p.txt003 img {
    width: 100%;
  }
}
/* plan */
/*
.pickup_bnr { margin: 0 -10px 40px; overflow: hidden;}
.pickup_bnr li {
	width: 50%;
	float: left;
	padding: 0 10px;
}
.pickup_bnr a:hover { opacity: 0.6;}
.pickup_bnr img { max-width: 100%;}
*/
.pickup_wrap {
  margin: 0 -10px;
  overflow: hidden;
}

.pickup_box {
  width: 50%;
  float: left;
  text-align: center;
  line-height: 1.4;
  padding: 10px;
}

.pickup_box a {
  display: block;
}

.pickup_box a:hover {
  opacity: 0.6;
}

.pickup_box .hl {
  position: relative;
  display: inline-block;
  color: #fff;
  font-family: "Spectral SC", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
  margin: -2em 0 0.5em;
  padding: 0 0.4em;
  pointer-events: none;
  z-index: 1;
}

.panel-group #tc-widget[data-layout=horizontal] {
  height: auto;
  padding-bottom: 20px;
}

#tc-widget[data-layout=horizontal] .tc-wrap * {
  display: flex;
  flex-flow: row wrap;
  gap: 10px;
  justify-content: flex-start;
}

.pickup_box.family .hl {
  background-color: #f09804;
}

.pickup_box.business .hl {
  background-color: #383450;
}

.pickup_box img {
  max-width: 100%;
}

.pickup_box.family img {
  border: 1px solid #f09804;
}

.pickup_box.business img {
  border: 1px solid #383450;
}

.pickup_box p {
  text-align: left;
}

.pickup_box .pickup_point {
  display: inline-block;
  font-size: 1.15em;
  font-weight: bold;
  text-align: center;
  margin: 0.5em 0 1em;
}

.pickup_box.family .pickup_point {
  background: linear-gradient(transparent 60%, #eef0b1 60%);
}

.pickup_box.business .pickup_point {
  background: linear-gradient(transparent 60%, #e8e9ef 60%);
}

#plan {
  width: 100%;
  padding: 40px 0 80px;
}

#plan .plan {
  width: 1100px;
  margin: 0 auto;
}

#plan .plan #slide_plan {
  width: 1100px;
}

#plan .plan #slide_plan li {
  width: 100%;
  max-width: 352px;
  margin: 0 21px;
  font-weight: bold;
}

#plan .plan #slide_plan li .img {
  height: 200px;
  overflow: hidden;
  background-color: #eee;
}

#plan .plan #slide_plan li li {
  margin: 0;
}

#plan .plan #slide_plan li img {
  vertical-align: bottom;
  width: 100%;
}

#plan .plan #slide_plan li:nth-last-of-type(1) {
  margin-right: 0;
}

#plan .plan #slide_plan li h2 {
  color: #fff;
  font-size: 17px;
  text-align: center;
  font-family: YuMincho, "Yu Mincho", serif;
  box-sizing: border-box;
  background: #332f00;
  padding: 15px 10px;
  line-height: 1.4;
  height: 78px;
}

#plan .plan li .planning {
  margin-top: 15px;
}

#plan .plan li .planning li {
  text-align: center;
  margin: 0 auto;
  width: 80%;
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 14px;
  padding: 10px 0;
  border-bottom: 1px solid #d7d7d7;
}

#plan .plan li .planning li .bg {
  font-size: 20px;
  font-family: "小塚ゴシック Pro L", "Kozuka Gothic Pro Light", sans-serif;
}

#plan .plantug {
  /* width: 1100px; */
  /* 2つの時 */
  width: 740px;
  margin: 50px auto 0;
  height: auto;
  box-sizing: border-box;
  background: #e7e3dd;
  overflow: hidden;
}

#plan .plantug .boxL {
  color: #f2f2f2;
  font-family: YuMincho, "Yu Mincho", serif;
  height: 110px;
  background: #332f00;
  line-height: 1.3;
  letter-spacing: 2px;
  padding: 30px 35px;
  box-sizing: border-box;
}

#plan .plantug .boxL h2 {
  font-size: 18px;
  padding-left: 50px;
  position: relative;
  line-height: 50px;
}

#plan .plantug .boxL h2:after {
  content: "\f040";
  font-family: FontAwesome;
  position: absolute;
  left: 0;
  font-size: 40px;
  margin-top: -27px;
  top: 50%;
}

#plan .plantug .boxR {
  width: 800px;
  box-sizing: border-box;
  height: 110px;
}

#plan .plantug .boxR ul {
  width: 100%;
  margin-top: 20px;
  padding-right: 30px;
}

#plan .plantug .boxR li {
  font-size: 16px;
  letter-spacing: 1px;
  padding: 5px 0;
  font-family: YuMincho, "Yu Mincho", serif;
  border-bottom: 1px dashed #b4ab98;
  line-height: 1.4;
}

#plan .slick-prev {
  left: -40px;
  top: 250px;
}

#plan .slick-next {
  right: -40px;
  top: 250px;
}

/*190507追加*/
#plan .plantug .boxR li {
  line-height: 58px;
  border-bottom: unset;
}

/* 231109 */
#plan.xmas_box {
  background: url(/images/xmas_back.png) no-repeat center/cover;
  padding: 80px 0 10px;
  margin-bottom: 50px;
}

#plan.xmas_box .plan .head01 {
  color: #fff;
}

#plan.xmas_box .plan .news_topic {
  background: none;
}

#plan.xmas_box .btn_plan {
  width: 45%;
  margin: 20px auto 0;
}

/* 240325 */
#plan.xmas_box.gw {
  background: #eaf5fb;
  padding: 80px 0;
}

#plan.xmas_box.gw .news_topic {
  margin-bottom: 0;
}

#plan.xmas_box.gw .plan .head01 {
  color: #877141;
}

#plan.xmas_box .btn_plan.gw_link {
  width: 27%;
}

/* 251003 */
#plan.xmas_box.gw {
  background: #f4f4f4;
}

.plan .topics_banner:not(:last-child) {
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  #plan.xmas_box.gw {
    padding: 10% 0;
  }
  .head01 {
    font-size: 24px;
  }
  p.sub_text {
    font-size: 15.5px;
  }
}
@media only screen and (max-width: 768px) {
  .plan .topics_banner:not(:last-child) {
    margin-bottom: 20px;
  }
  /* plan */
  .pickup_bnr {
    margin: 0 0 40px;
  }
  .pickup_bnr li {
    width: auto;
    float: none;
    padding: 5px 0;
  }
  #plan {
    width: 100%;
    padding: 40px 0;
  }
  .pickup_wrap {
    margin: 0;
  }
  .pickup_box {
    width: auto;
    max-width: 400px;
    float: none;
    padding: 10px 0;
    margin: 0 auto;
  }
  .pickup_box .hl {
    display: block;
    max-width: 220px;
    font-size: 24px;
    margin: -1em auto 0.5em;
  }
  .pickup_box p {
    font-size: 12px;
  }
  .pickup_box p br {
    display: none;
  }
  #plan .plan {
    width: 93%;
  }
  #plan .plan .slide_plan {
    width: 100%;
  }
  #plan .plan .slide_plan li {
    width: 100%;
    max-width: initial;
    margin: 0 10px;
  }
  #plan .plan .slide_plan li h2 {
    font-size: 16px;
    padding: 10px 5px;
    height: 65px;
  }
  #plan .plan li .planning {
    margin-top: 5px;
  }
  #plan .plan li .planning li {
    font-size: 12px;
  }
  #plan .plan .slide_plan li .img {
    height: 150px;
    overflow: hidden;
  }
  #plan .plan li .planning li .bg {
    font-size: 16px;
  }
  #plan .plantug {
    width: 93%;
    margin: 20px auto 0;
    height: initial;
  }
  #plan .plantug .boxL {
    height: initial;
    padding: 10px 15px;
  }
  #plan .plantug .boxL h2 {
    font-size: 16px;
    padding-left: 40px;
  }
  #plan .plantug .boxL h2:after {
    font-size: 30px;
    margin-top: -25px;
  }
  #plan .plantug .boxR {
    width: 100%;
    height: initial;
  }
  #plan .plantug .boxR ul {
    width: 100%;
    margin-top: 0;
    margin: 0px auto 10px;
    padding: 10px;
  }
  #plan .plantug .boxR li {
    font-size: 12px;
    line-height: 1.4;
    padding: 5px 5px;
  }
  #plan .slick-prev {
    left: 0px;
    top: 36%;
  }
  #plan .slick-next {
    right: 0px;
    top: 36%;
  }
  #plan .news_topic .slick-prev,
  #plan .news_topic .slick-next {
    top: 50% !important;
  }
}
/* 231109 */
#plan.xmas_box .plan .news_topic li {
  margin: 0 0.5% 40px 0.5%;
}

@media only screen and (max-width: 768px) {
  /* 240325 */
  #plan.xmas_box.gw .news_topic li a {
    padding-bottom: 30px;
  }
  .pickup_box .pickup_point {
    font-size: 3vw;
  }
  .pickup_box .hl {
    font-size: 5vw;
  }
  .pickup_box {
    width: 48%;
    max-width: 100%;
  }
}
#top_point {
  width: 100%;
  margin: 0 auto;
  padding: 80px 0 !important;
  background: #f4f4f4;
}

#top_point .point {
  width: 100%;
  margin: 0 auto;
}

.point-txt {
  font-size: 14px;
}

.point .obsession_txt,
.point .obsession_img {
  width: 50%;
}

.point .obsession_img img {
  width: 100%;
}

.point .obsession_flex .obsession_txt div {
  width: 75%;
  max-width: 800px;
  margin-right: auto;
  margin-left: 10%;
}

.point .obsession_flex.reverse .obsession_txt div {
  margin-right: 10%;
  margin-left: auto;
}

/* 191127ポイントバナー */
#top .point_top {
  bottom: 4%;
  width: 30%;
  max-width: 500px;
  right: 0;
}

@media only screen and (max-width: 768px) {
  #top_point {
    padding: 80px 0 20px 0 !important;
    /* 230817 */
  }
  #top_point .point {
    width: 87%;
    margin: 0 auto;
  }
  #top_point .obsession_flex .obsession_txt h3 {
    font-size: 20px;
    margin: 5% auto;
  }
  #top_point .obsession_flex .obsession_txt strong {
    font-size: 16px;
  }
  #top_point .obsession_flex .obsession_txt p {
    font-size: 14px;
  }
  #top_point .obsession_flex .obsession_txt p {
    line-height: 170%;
  }
  #top_point .pagetop_member {
    bottom: 32px;
  }
  #top_point .ft_member_menu {
    padding: 0;
  }
  #top_point .ft_member_btn {
    width: 100%;
  }
  #top_point .point .obsession_txt,
  #top_point .point .obsession_img {
    width: 100%;
  }
  #top_point .obsession_flex .obsession_txt strong {
    width: 100%;
    line-height: 18px;
  }
  #top_point .sp_none {
    display: none !important;
  }
}
#top_concept {
  width: 100%;
  background: url("/images/concept_bk.jpg");
  padding: 80px 0;
}
@media only screen and (max-width: 768px) {
  #top_concept {
    padding: 40px 0;
  }
}
#top_concept .concept {
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #top_concept .concept {
    width: 93%;
  }
}
#top_concept .concept .title {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #top_concept .concept .title {
    width: 30%;
    text-align: center;
    margin: 0 auto;
  }
}

#top_concept .concept .contop h2 {
  font-size: 28px;
  font-family: YuMincho, "Yu Mincho", serif;
  letter-spacing: 4px;
  color: #fff;
  line-height: 86px;
}

#top_concept .concept .contop .boxR {
  width: 840px;
}

#top_concept .concept .contop .boxR p {
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.8;
  color: #fff;
}

#top_concept .concept .conbtm {
  margin-top: 60px;
}

#top_concept .concept .conbtm .boxL {
  width: 620px;
  color: #fff;
}

#top_concept .concept .conbtm .boxL h3 {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 20px;
  line-height: 0.6;
}

#top_concept .concept .conbtm .boxL h3 span {
  font-family: "EB Garamond", serif;
  font-size: 24px;
  font-weight: 500;
}

#top_concept .concept .conbtm .boxL h3 .pointbg {
  font-size: 60px;
  margin-right: 40px;
}

#top_concept .concept .conbtm .boxL h3 i {
  font-size: 30px;
  width: 35px;
  text-align: center;
  margin-right: 10px;
}

#top_concept .concept .conbtm .boxL p {
  font-size: 15px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.6;
  padding: 15px 0;
  margin-bottom: 15px;
  border-bottom: 1px solid #534a3e;
}

#top_concept .concept .conbtm .boxR {
  width: 540px;
}

#top_concept .concept .conbtm .mordal {
  width: 540px;
}

#top_concept .btn_clear a {
  border: 1px solid #9f864c;
  color: #9f864c;
}

#top_concept .btn_clear a:hover {
  background: #9f864c;
  color: #fff;
}

#top_concept .btn_point {
  padding-top: 5px;
  display: block;
  text-align: right;
}

#top_concept .btn_point a {
  color: #fff;
}

#top_concept .btn_point a:hover {
  color: #9f864c;
}

@media only screen and (max-width: 768px) {
  #top_concept .concept .contop h2 {
    font-size: 18px;
    line-height: initial;
    margin-bottom: 10px;
    text-align: center;
  }
  #top_concept .concept .contop .boxR {
    width: 100%;
  }
  #top_concept .concept .contop .boxR p {
    font-size: 12px;
    line-height: 1.6;
  }
  #top_concept .concept .contop .mordal {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 10px;
  }
  #top_concept .concept .contop .mordal img {
    width: 100%;
  }
  #top_concept .concept .conbtm {
    margin-top: 20px;
  }
  #top_concept .concept .conbtm .boxL {
    width: 100%;
    color: #fff;
  }
  #top_concept .concept .conbtm .boxL ul {
    margin: 20px auto;
  }
  #top_concept .concept .conbtm .boxL h3 {
    font-size: 15px;
  }
  #top_concept .concept .conbtm .boxL h3 span {
    font-size: 20px;
  }
  #top_concept .concept .conbtm .boxL h3 .pointbg {
    font-size: 40px;
    margin-right: 20px;
  }
  #top_concept .concept .conbtm .boxL h3 i {
    margin-right: 5px;
  }
  #top_concept .concept .conbtm .boxL p {
    font-size: 12px;
    padding: 10px 0;
    margin-bottom: 10px;
  }
  #top_concept .concept .conbtm .boxR {
    width: 100%;
  }
}
#tripla_area {
  position: relative;
  min-width: 1000px;
  width: 1080px;
  margin: 0 auto 90px;
}

.booking_wrapper {
  position: relative;
  margin: 0;
  width: 76%;
  padding: 15px 25px 33px;
}
@media only screen and (max-width: 768px) {
  .booking_wrapper {
    width: 100%;
  }
}
.booking_wrapper .confirm_link {
  position: absolute;
  right: 0;
  bottom: 0;
  padding-right: 25px;
}
@media only screen and (max-width: 768px) {
  .booking_wrapper .confirm_link {
    position: relative;
  }
}
.booking_wrapper .confirm_link a {
  font-weight: bold;
  font-size: 16px;
  color: #fff;
  text-align: right;
}

#booking .search-widget-search-container-bf1818 {
  background: #332f00;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  #booking .search-widget-search-container-bf1818 {
    height: auto;
  }
}

.reserv_label {
  display: block;
  position: absolute;
  top: 5px;
  /* top: 45px; */
  right: 30px;
  width: 19%;
}

.reserv_label li {
  background-color: #9e8d62;
  color: #fff;
  margin-bottom: 6px;
  padding: 3.5px 14px;
  border-radius: 3px;
  box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.3411764706);
  position: relative;
}

.reserv_label li span {
  width: 30px;
  display: inline-block;
}

.reserv_label li span img {
  max-width: 100%;
  height: auto;
}

.reserv_label li a {
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  display: inline-block;
  text-align: left;
  padding: 10px;
  padding: 10px 0 10px 26px;
}

.reserv_label li a:before {
  background: url(/cmn/cmn_img/reserve01.png) no-repeat 0 50%;
}

.reserv_label li a:hover {
  text-decoration: none;
  opacity: 0.8;
}

.input-container-input-container-da40af .input-container-title-db81ec {
  color: #fff !important;
  font-family: "Crimson Text", Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}

.button-btn-f51c1a {
  background: #ba9812 !important;
}

ul.resLink {
  display: flex;
  justify-content: center;
  max-width: 800px;
  margin: 20px auto;
}

ul.resLink li {
  width: 30%;
}

ul.resLink li a {
  text-align: center;
  display: block;
}

.reserv_label .even a::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  background: url(/cmn/cmn_img/reserve04.png) no-repeat;
  background-size: contain;
  margin-right: 8px;
  position: absolute;
  left: 12px;
  bottom: 8px;
}

.reserv_label .first a::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  background: url(/cmn/cmn_img/reserve02.png) no-repeat;
  background-size: contain;
  margin-right: 8px;
  position: absolute;
  left: 12px;
  bottom: 8px;
}

.reserv_label .last a::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  background: url(/cmn/cmn_img/reserve01.png) no-repeat;
  background-size: contain;
  margin-right: 8px;
  position: absolute;
  left: 12px;
  bottom: 8px;
}

@media screen and (max-width: 769px) {
  #booking.ad_0829 {
    margin: 80px auto 0;
    position: relative;
  }
  #booking.ad_0829::before {
    content: "";
    background: url(../img/lodgment/lodgment_banner.png) no-repeat center/cover;
    width: 150px;
    height: 150px;
    position: absolute;
    top: -50px;
    left: -30px;
  }
  #booking.ad_0829 .search-widget-search-container-bf1818 {
    padding: 15px 25px 10px 130px;
  }
  #tripla_area {
    position: relative;
    width: 100%;
    min-width: 100%;
  }
  /* bottom: 265px; */
  /* bottom: 200px; */
  ul.resLink {
    display: block;
    justify-content: center;
    max-width: 800px;
    margin: 20px auto;
    width: 85%;
  }
  ul.resLink li {
    width: auto;
  }
  ul.resLink li a {
    text-align: left;
    display: block;
    margin-bottom: 10px;
  }
  /* 221026追加	 */
  .reserv_label {
    width: 75%;
    margin: auto;
    right: 47px;
    top: 450px;
  }
  .reserv_label li {
    padding: 5px;
    padding-left: 45px;
    margin-bottom: 15px;
  }
  .reserv_label li a {
    display: block;
  }
  #booking .search-widget-search-container-bf1818 {
    height: 650px;
    /* height: 540px; */
    /* height: 475px; */
  }
  .reserv_label .first a::before,
  .reserv_label .last a::before {
    width: 35px;
    height: 35px;
    background-size: cover;
    left: 20px;
    bottom: 5px;
  }
  .reserv_label .even a::before {
    left: 25px;
  }
}
.tab-reserve-group {
  display: flex;
  justify-content: space-between;
  max-width: 1082px;
  margin: 30px auto -1px;
}

.tab-reserve {
  padding: 15px 5px;
  list-style: none;
  border: 1px solid #332f00;
  text-align: center;
  cursor: pointer;
  font-size: 15px;
  border-radius: 5px 5px 0 0;
  border-bottom: none;
  width: 50%;
  font-weight: bold;
  color: #333;
}

.panel-group {
  border-top: none;
  margin-bottom: 25px;
}

.panel {
  display: none;
  max-width: 1082px;
  width: 100%;
  margin: auto;
  border: 1px solid #332f00;
  background: #332f00;
  box-sizing: border-box;
  border-top: none;
}

.panel.tablecheck_tab {
  text-align: center;
}

.tab-reserve.is-active {
  background: #332f00;
  transition: all 0.2s ease-out;
  color: #fff;
}

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

.panel-group #tripla_area {
  background: #332f00;
  margin: 0 auto;
  /* padding-bottom: 30px; */
}

.panel-group #booking .search-widget-search-container-bf1818 {
  box-shadow: none;
}

.panel-group #tc-widget[data-theme=clear] .tc-book {
  background-color: rgb(186, 152, 18);
  border: 1px solid rgb(186, 152, 18);
}

.panel-group #tc-widget .tc-h1 {
  display: none;
}

.panel-group .tc-shop,
.panel-group .tc-date,
.panel-group .tc-time,
.panel-group .tc-ppl {
  position: relative;
}

.panel-group .tc-shop::before,
.panel-group .tc-date::before,
.panel-group .tc-time::before,
.panel-group .tc-ppl::before {
  font-family: "Crimson Text", Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  color: #fff;
  font-size: 16px;
  font-weight: 550;
  line-height: 24px;
  white-space: nowrap;
  position: absolute;
  top: -30px;
  left: 35px;
}

.panel-group .tc-shop::before {
  left: 0;
  content: "レストラン名";
}
html[lang=en] .panel-group .tc-shop::before {
  content: "Restaurant Name";
}
html[lang=zh-TW] .panel-group .tc-shop::before {
  content: "餐廳名稱";
}
html[lang=zh-CN] .panel-group .tc-shop::before {
  content: "餐厅名称";
}
html[lang=ko] .panel-group .tc-shop::before {
  content: "레스토랑 이름";
}

.panel-group .tc-date::before {
  content: "日付";
}
html[lang=en] .panel-group .tc-date::before {
  content: "Date";
}
html[lang=zh-TW] .panel-group .tc-date::before {
  content: "日期";
}
html[lang=zh-CN] .panel-group .tc-date::before {
  content: "日期";
}
html[lang=ko] .panel-group .tc-date::before {
  content: "날짜";
}

.panel-group .tc-time::before {
  content: "時間";
}
html[lang=en] .panel-group .tc-time::before {
  content: "Time";
}
html[lang=zh-TW] .panel-group .tc-time::before {
  content: "時間";
}
html[lang=zh-CN] .panel-group .tc-time::before {
  content: "时间";
}
html[lang=ko] .panel-group .tc-time::before {
  content: "시간";
}

.panel-group .tc-ppl::before {
  content: "人数";
}
html[lang=en] .panel-group .tc-ppl::before {
  content: "Number of People";
}
html[lang=zh-TW] .panel-group .tc-ppl::before {
  content: "人數";
}
html[lang=zh-CN] .panel-group .tc-ppl::before {
  content: "人数";
}
html[lang=ko] .panel-group .tc-ppl::before {
  content: "인원수";
}

.panel-group #tc-widget select,
.panel-group #tc-widget input[type=text] {
  color: #000;
  font-size: 15px;
}

.panel-group ul.resLink li a {
  color: #fff;
}

.panel-group #tc-widget[data-theme=clear] .tc-header {
  color: #332f00;
}

.panel-group #tc-widget select,
.panel-group #tc-widget input[type=text] {
  border-radius: 4px;
}

@media screen and (min-width: 768px) {
  .panel-group #tc-widget[data-layout=horizontal] {
    width: 900px;
    margin-bottom: 60px;
  }
  .panel-group #tc-widget .tc-shop select {
    width: 205px;
  }
  .panel-group #tc-widget[data-layout=horizontal] .tc-body {
    padding: 35px 10px 10px;
  }
  .panel-group #tc-widget select,
  .panel-group #tc-widget input[type=text] {
    height: 42px;
  }
  .panel-group #tc-widget .tc-icon {
    margin-top: 8px;
  }
}
/*デバイスの横幅が750px以下の場合*/
@media only screen and (max-width: 750px) {
  .panel-group #tc-widget {
    width: 85%;
  }
  .panel-group #tc-widget input[type=text],
  .panel-group #tc-widget select {
    width: 100%;
  }
  .tab-reserve-group .tab-reserve {
    font-size: 4.3vw;
    width: 50%;
  }
  .panel-group #tripla_area .resLink li {
    display: block;
  }
  .panel-group #tc-widget select,
  .panel-group #tc-widget input[type=text] {
    height: 42px;
  }
  .panel-group #tc-widget .tc-shop,
  .panel-group #tc-widget .tc-date,
  .panel-group #tc-widget .tc-time,
  .panel-group #tc-widget .tc-ppl {
    width: 46%;
    margin: 0 2% 13%;
  }
  .panel-group #tc-widget[data-theme=clear] .tc-header {
    padding: 40px 0 0;
  }
  .panel-group .tc-shop::before,
  .panel-group .tc-date::before,
  .panel-group .tc-time::before,
  .panel-group .tc-ppl::before {
    left: 3%;
  }
  .panel-group #tc-widget .tc-icon {
    display: none;
  }
  .panel-group .tc-content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .panel-group #tc-widget[data-theme=clear] .tc-body {
    padding: 15px 5px 20px;
  }
  .panel-group #tc-widget .tc-shop select {
    float: none;
    width: 100%;
  }
}
/* news */
#news {
  width: 100%;
  margin: 0 auto;
  padding: 80px 0;
}

#news .fltbox {
  width: 100%;
  max-width: 1020px;
  margin: 0 auto;
}

#news .fltbox .boxL .head01 {
  margin-bottom: 20px;
  /* padding-top: 20%; */
}

#news .fltbox .boxL .btn_clear a {
  margin-top: 25px;
  width: 140px;
  height: 30px;
  padding: 0px;
  font-size: 13px;
  line-height: 30px;
}

#news .fltbox .boxL .btn_clear a i {
  font-size: 16px;
}

#news .fltbox .boxR {
  width: 700px;
}

#news .fltbox .boxR ul li {
  border-top: 1px dashed #c7c0af;
}

#news .fltbox .boxR ul li:nth-last-of-type(1) {
  border-bottom: 1px dashed #c7c0af;
}

#news .fltbox .boxR ul li a {
  display: flex;
  padding: 20px 10px;
}

#news .fltbox .boxR ul li .day {
  font-size: 18px;
  font-family: "Spectral", serif;
  font-weight: 400;
  height: 24px;
  line-height: 24px;
}

#news .fltbox .boxR ul li .tug {
  width: 90px;
  height: 24px;
  text-align: center;
  font-size: 13px;
  font-family: YuGothic, "Yu Gothic", sans-serif;
  color: #fff;
  background: #b1a180;
  font-weight: bold;
  line-height: 24px;
  margin-right: 15px;
  margin-left: 15px;
}

#news .fltbox .boxR ul li .txt {
  width: 470px;
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.4;
}

/* 210610 */
.news_topic {
  width: 100%;
  background: #f4f4f4;
  padding: 50px 0 20px;
  height: 520px;
  margin-bottom: 10%;
  opacity: 0;
}

.news_topic.slick-slider {
  opacity: 1;
}

.news_topic li {
  margin: 0 0.5% 40px 0.5%;
  border: 1px solid #b1a281;
  text-align: center;
  background: #fff;
  transition: 0.3s;
  height: 100% !important;
}

.news_topic li:hover {
  transform: scale(0.97);
}

.news_topic li a {
  display: block;
  padding-bottom: 20px;
  height: 100%;
}

.news_topic figure {
  padding-bottom: 15px;
}

.news_topic figure img {
  width: 100%;
}

.news_topic h2 {
  font-size: 1.02em;
  font-weight: bold;
  width: 90%;
  margin: 0 auto;
  margin-bottom: 10px;
  line-height: 150%;
  border-bottom: 1.5px solid #9e8d62;
  padding-bottom: 7px;
}

.news_topic p {
  width: 86%;
  text-align: left;
  overflow: hidden;
  margin: 0 auto;
  font-size: 14px;
  line-height: 150%;
}

.news_topic li a:hover p {
  color: #a38b4e;
}

@media only screen and (max-width: 768px) {
  /* news */
  #news {
    padding: 40px 0;
  }
  #news .news {
    width: 93%;
    margin: 0 auto;
  }
  #news .fltbox {
    max-width: initial;
  }
  #news .fltbox .boxL .head01 {
    margin-bottom: 10px;
    padding-top: 0;
  }
  #news .fltbox .boxL .btn_clear a {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  #news .fltbox .boxR {
    width: 100%;
  }
  #news .fltbox .boxR ul li a {
    display: block;
    padding: 15px 0;
  }
  #news .fltbox .boxR ul li .day {
    font-size: 15px;
    font-family: "EB Garamond", serif;
    height: 20px;
    line-height: 20px;
  }
  #news .fltbox .boxR ul li .tug {
    font-size: 12px;
    display: inline-block;
    height: 20px;
    line-height: 20px;
  }
  #news .fltbox .boxR ul li .txt {
    display: block;
    width: 100%;
    font-size: 12px;
    margin-top: 5px;
  }
}
/* restaurant */
#top_restaurant {
  width: 100%;
  margin: 0 0 4% 0;
  /* padding: 30px 0 */
}

#top_restaurant .restaurant {
  position: relative;
}

#top_restaurant li {
  margin-left: 15px;
  margin-right: 15px;
}

#top_restaurant .restaurant_txt {
  position: absolute;
  z-index: 1;
  right: 33%;
  bottom: 50px;
  color: #fff;
  width: 240px;
}

#top_restaurant .restaurant_txt .btn_clear {
  margin-top: 25px;
  width: 140px;
  height: 30px;
  padding: 0px;
  font-size: 13px;
  line-height: 30px;
  color: #fff;
  border: 1px solid #fff;
}

#top_restaurant .restaurant_txt .btn_clear:hover {
  background: #fff;
  color: #000;
  transition: all 0.3s ease-in-out;
}

#top_restaurant .restaurant_txt h2 {
  font-size: 40px;
  font-weight: 500;
  font-family: "EB Garamond", serif;
  margin-bottom: 20px;
  color: #fff;
}

#top_restaurant .restaurant_txt .txt {
  font-size: 16px;
  line-height: 1.6;
  font-family: YuMincho, "Yu Mincho", serif;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  /* restaurant */
  #top_restaurant {
    width: 100%;
    margin: 0 auto;
    padding-top: 40px;
  }
  #top_restaurant .restaurant {
    width: 93%;
    margin: 0 auto;
    position: relative;
  }
  #top_restaurant ul li {
    margin-left: 0;
    margin-right: 0;
  }
  #top_restaurant ul li .img img {
    width: 100%;
  }
  #top_restaurant .restaurant_txt {
    margin-top: 20px;
    position: initial;
    top: initial;
    left: initial;
    color: #fff;
    width: 100%;
    display: block;
    background: rgba(0, 0, 0, 0.7);
    padding: 10px;
  }
  #top_restaurant .restaurant_txt .btn_clear {
    width: 140px;
    height: 30px;
    padding: 0px;
    font-size: 13px;
    line-height: 30px;
    color: #fff;
    border: 1px solid #fff;
    margin: 10px auto 0;
  }
  #top_restaurant .restaurant_txt h2 {
    font-size: 20px;
    font-weight: 500;
    font-family: "EB Garamond", serif;
    margin-bottom: 10px;
    text-align: center;
  }
  #top_restaurant .restaurant_txt .txt {
    font-size: 12px;
    line-height: 1.6;
    font-family: YuMincho, "Yu Mincho", serif;
  }
  #top_restaurant #slide_restaurant .slick-prev {
    left: -8px;
  }
  #top_restaurant #slide_restaurant .slick-next {
    right: -8px;
  }
}
/* room */
#room {
  width: 100%;
  margin: 0 auto;
  padding-top: 30px;
}

#room .room {
  position: relative;
}

#room li {
  margin-left: 15px;
  margin-right: 15px;
}

#room .room_txt {
  position: absolute;
  z-index: 1;
  right: 33%;
  bottom: 50px;
  color: #fff;
  width: 240px;
}

#room .room_txt .btn_clear {
  margin-top: 25px;
  width: 140px;
  height: 30px;
  padding: 0px;
  font-size: 13px;
  line-height: 30px;
  color: #fff;
  border: 1px solid #fff;
}

#room .room_txt .btn_clear:hover {
  background: #fff;
  color: #000;
  transition: all 0.3s ease-in-out;
}

#room .room_txt h2 {
  font-size: 40px;
  font-weight: 500;
  font-family: "EB Garamond", serif;
  margin-bottom: 20px;
  color: #fff;
}

#room .room_txt .txt {
  font-size: 16px;
  line-height: 1.6;
  font-family: YuMincho, "Yu Mincho", serif;
  color: #fff;
}

#room #slide_room .slick-prev,
#top_restaurant #slide_restaurant .slick-prev {
  left: 20%;
}

#room #slide_room .slick-next,
#top_restaurant #slide_restaurant .slick-next {
  right: 20%;
}

@media only screen and (max-width: 768px) {
  #room {
    width: 100%;
    margin: 0 auto;
    padding-top: 40px;
  }
  #room .room {
    width: 93%;
    margin: 0 auto;
    position: relative;
  }
  #room ul li {
    margin-left: 0;
    margin-right: 0;
  }
  #room ul li .img img {
    width: 100%;
  }
  #room .room_txt {
    margin-top: 20px;
    position: initial;
    top: initial;
    left: initial;
    color: #fff;
    width: 100%;
    display: block;
    background: rgba(0, 0, 0, 0.7);
    padding: 10px;
  }
  #room .room_txt .btn_clear {
    width: 140px;
    height: 30px;
    padding: 0px;
    font-size: 13px;
    line-height: 30px;
    color: #fff;
    border: 1px solid #fff;
    margin: 10px auto 0;
  }
  #room .room_txt h2 {
    font-size: 20px;
    font-weight: 500;
    font-family: "EB Garamond", serif;
    margin-bottom: 10px;
    text-align: center;
  }
  #room .room_txt .txt {
    font-size: 12px;
    line-height: 1.6;
    font-family: YuMincho, "Yu Mincho", serif;
  }
  #room #slide_room .slick-prev {
    left: -8px;
  }
  #room #slide_room .slick-next {
    right: -8px;
  }
}
#top_spot {
  width: 100%;
  margin: 0 auto;
  padding: 80px 0;
}
#top_spot ul {
  width: 100%;
  max-width: 890px;
  margin: 0 auto;
  font-size: 0;
  display: flex;
  justify-content: space-between;
}
#top_spot ul li {
  width: 33.3333333333%;
  max-width: 250px;
  display: inline-block;
  vertical-align: top;
}
#top_spot ul li .img {
  text-align: center;
}
#top_spot ul li h3 {
  font-size: 18px;
  color: #a38b4c;
  text-align: center;
  margin: 15px auto;
  letter-spacing: -1px;
}
#top_spot ul li .txt {
  font-size: 15px;
  font-weight: 500;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.5;
}

@media only screen and (max-width: 768px) {
  /* spot */
  #spot {
    padding: 40px 0;
  }
  #spot .spot {
    width: 93%;
    margin: 0 auto;
  }
  #spot ul {
    font-size: 0;
  }
  #spot ul li {
    width: 32%;
    max-width: initial;
    display: inline-block;
    vertical-align: top;
    margin-right: 2%;
  }
  #spot ul li:nth-last-of-type(1) {
    margin-right: 0;
  }
  #spot ul li .img {
    width: 100%;
    text-align: center;
  }
  #spot ul li .img img {
    width: 100%;
  }
  #spot ul li h3 {
    font-size: 16px;
    margin: 10px auto;
    letter-spacing: -1px;
  }
  #spot ul li .txt {
    display: none;
  }
}
/* gallery */
#toppage #gallery {
  width: 100%;
  background: url("/images/gallery_bk.jpg");
  padding: 80px 0;
}
#toppage #gallery ul {
  width: 100%;
  max-width: 1600px;
  font-size: 0;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
}
#toppage #gallery ul li {
  width: 25%;
  max-width: 400px;
}
#toppage #gallery ul li img {
  width: 100%;
}

.slide_box {
  display: flex;
  flex-flow: row wrap;
}
.slide_box li {
  display: flex;
}
.slide_box li a {
  flex: 1;
}

/* スライダーの基本リセット */
#top:has(.kv-slider) {
  overflow: hidden;
}

.kv-slider {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  z-index: -1;
}

.kv-slider ul,
.kv-slider .slick-list,
.kv-slider .slick-track,
.kv-slider li {
  height: 100% !important; /* 既存のSlickのスタイルを確実に上書き */
}

.kv-slider ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kv-slider img {
  width: 100%;
  height: 100%;
  max-width: none !important;
  vertical-align: bottom;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/* 768px以下（スマホサイズ）のとき */
@media screen and (max-width: 640px) {
  .kv-slider-pc {
    display: none !important;
  }
  .kv-slider-sp {
    display: block;
  }
}
/* 769px以上（PCサイズ）のとき */
@media screen and (min-width: 641px) {
  .kv-slider-pc {
    display: block;
  }
  .kv-slider-sp {
    display: none !important;
  }
}
#concept .concept {
  margin-top: 59px;
}

#co01 {
  width: 100%;
}

#co01 .co01,
#co02 .co02,
#co03 .co03,
#co04 .co04,
#co05 .co05 {
  width: 860px;
  margin: 0 auto;
}

#co01 {
  background: url("/concept/img/concept_bk01.jpg") no-repeat bottom center;
  background-size: cover;
}

#co02 {
  background: url("/concept/img/concept_bk02.jpg") no-repeat bottom center;
  background-size: cover;
}

#co03 {
  background: url("/concept/img/concept_bk03.jpg") no-repeat bottom center;
  background-size: cover;
}

#co04 {
  background: url("/concept/img/concept_bk04-1.jpg") no-repeat bottom center;
  background-size: cover;
}

#co05 {
  margin-top: -1px;
  background: url("/concept/img/concept_bk05.jpg") no-repeat bottom center;
  background-size: cover;
}

#co01 .co01 {
  padding: 100px 0;
}

#co01 .co01 .title {
  text-align: center;
}

#co01 .co01 h2 {
  font-size: 32px;
  text-align: center;
  font-family: YuMincho, "Yu Mincho", serif;
  letter-spacing: 2px;
  color: #a38b4c;
  margin: 30px auto;
  position: relative;
}

#co01 .co01 h2:before {
  content: "";
  background: url("/concept/img/title_l.png");
  width: 249px;
  height: 457px;
  position: absolute;
  left: -180px;
  top: -170px;
}

#co01 .co01 h2:after {
  content: "";
  background: url("/concept/img/title_r.png");
  width: 249px;
  height: 457px;
  position: absolute;
  right: -180px;
  top: -170px;
}

#co01 .co01 .txt_t {
  font-size: 22px;
  text-align: center;
  font-family: YuMincho, "Yu Mincho", serif;
  letter-spacing: 2px;
  color: #a38b4c;
  line-height: 2;
}

#co01 .co01 .mordal {
  text-align: center;
  margin: 40px auto 0;
}

#co02 .co02,
#co03 .co03,
#co04 .co04,
#co05 .co05 {
  padding: 270px 0;
}

#co02 .co02 h2,
#co03 .co03 h2,
#co04 .co04 h2,
#co05 .co05 h2 {
  text-align: center;
  font-size: 54px;
  color: #fff;
  font-family: "Spectral SC", serif;
  position: relative;
}

#co02 .co02 h2:before,
#co03 .co03 h2:before,
#co04 .co04 h2:before,
#co05 .co05 h2:before {
  content: "";
  background: url("/concept/img/tmini_l.png");
  width: 100px;
  height: 183px;
  position: absolute;
  top: -60px;
  left: 170px;
}

#co02 .co02 h2:after,
#co03 .co03 h2:after,
#co04 .co04 h2:after,
#co05 .co05 h2:after {
  content: "";
  background: url("/concept/img/tmini_r.png");
  width: 100px;
  height: 183px;
  position: absolute;
  right: 170px;
  top: -60px;
}

#co02 .co02 h2 span,
#co03 .co03 h2 span,
#co04 .co04 h2 span,
#co05 .co05 h2 span {
  text-align: center;
  margin-top: 5px;
  font-size: 20px;
  color: #fff;
  font-family: YuMincho, "Yu Mincho", serif;
  display: block;
}

#co02 .co02 .txt,
#co03 .co03 .txt,
#co04 .co04 .txt,
#co05 .co05 .txt {
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 2.3;
  letter-spacing: 2px;
  margin-top: 50px;
}

#flink {
  padding-bottom: 70px;
}

@media only screen and (max-width: 768px) {
  #flink {
    padding-bottom: 40px;
  }
}
/*デバイスの横幅が750px以下の場合*/
@media only screen and (max-width: 768px) {
  #concept .concept {
    margin-top: 29px;
  }
  #co01 .co01,
  #co02 .co02,
  #co03 .co03,
  #co04 .co04,
  #co05 .co05 {
    width: 93%;
  }
  #co01 .co01 {
    padding: 40px 0;
  }
  #co01 .co01 .title {
    width: 35%;
    margin: 0 auto;
  }
  #co01 .co01 .title img {
    width: 100%;
  }
  #co01 .co01 h2 {
    font-size: 20px;
    margin: 20px auto 10px;
  }
  #co01 .co01 h2:before {
    content: "";
    background: url("/concept/img/title_l.png") no-repeat;
    background-size: contain;
    width: 70px;
    height: 128px;
    position: absolute;
    left: 4%;
    top: -135px;
  }
  #co01 .co01 h2:after {
    content: "";
    background: url("/concept/img/title_r.png") no-repeat;
    background-size: contain;
    width: 70px;
    height: 128px;
    position: absolute;
    right: 4%;
    top: -135px;
  }
  #co01 .co01 .txt_t {
    font-size: 12px;
    line-height: 1.6;
  }
  #co01 .co01 .mordal {
    width: 100%;
    margin: 20px auto 0;
  }
  #co01 .co01 .mordal img {
    width: 100%;
  }
  #co02 .co02,
  #co03 .co03,
  #co04 .co04,
  #co05 .co05 {
    padding: 40px 0;
  }
  #co02 .co02 h2,
  #co03 .co03 h2,
  #co04 .co04 h2,
  #co05 .co05 h2 {
    font-size: 20px;
  }
  #co02 .co02 h2:before,
  #co03 .co03 h2:before,
  #co04 .co04 h2:before,
  #co05 .co05 h2:before {
    content: "";
    background: url("/concept/img/tmini_l.png") no-repeat;
    background-size: contain;
    width: 40px;
    height: 73px;
    position: absolute;
    top: -25px;
    left: 13%;
  }
  #co02 .co02 h2:after,
  #co03 .co03 h2:after,
  #co04 .co04 h2:after,
  #co05 .co05 h2:after {
    content: "";
    background: url("/concept/img/tmini_r.png") no-repeat;
    background-size: contain;
    width: 40px;
    height: 73px;
    position: absolute;
    right: 13%;
    top: -25px;
  }
  #co02 .co02 h2 span,
  #co03 .co03 h2 span,
  #co04 .co04 h2 span,
  #co05 .co05 h2 span {
    margin-top: 5px;
    font-size: 15px;
  }
  #co02 .co02 .txt,
  #co03 .co03 .txt,
  #co04 .co04 .txt,
  #co05 .co05 .txt {
    font-size: 12px;
    line-height: 1.4;
    margin-top: 10px;
  }
}
#restaurant .restaurantop {
  width: 100%;
  background: #f4f4f4;
}

#restaurant .restaurantop ul {
  width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
}

#restaurant .restaurantop ul li {
  width: 33.3333333333%;
  text-align: center;
  border-right: 1px solid #a2936d;
}

#restaurant .restaurantop ul li:nth-last-of-type(1) {
  border-right: 0;
}

#restaurant .restaurantop ul li a {
  display: block;
  padding: 55px 0;
}

#restaurant .restaurantop ul li .img {
  text-align: center;
  position: relative;
}

#restaurant .restaurantop ul li .img:after {
  content: "\f107";
  font-family: FontAwesome;
  position: absolute;
  font-size: 24px;
  left: 50%;
  margin-left: -8px;
  bottom: -50px;
  color: #a2936d;
}

/* #restaurant .restaurantop ul li:nth-last-of-type(1) .img:before{
  content: "";
  background: url('/img/shop.png') no-repeat;
  width: 40px;
  height: 40px;
  background-size:contain;
  position: absolute;
  right: -30px;
  top: 20px;
} */
#restaurant .restaurantop .txt_top {
  font-size: 15px;
  line-height: 1.6;
  padding: 30px 0;
  width: 1000px;
  margin: 0 auto;
}

/*  */
#restaurant .restaurant .r_room li {
  margin-left: 15px;
  margin-right: 15px;
}

/*
#restaurant .restaurant:nth-of-type(odd),#flink{
  background: #f4f1ea;
}
 */
#flink {
  background: #fff;
  padding-bottom: 70px;
}

@media only screen and (max-width: 768px) {
  #flink {
    padding-bottom: 40px;
  }
}
#restaurant .restaurant .r_room .slick-prev {
  left: 20%;
}

#restaurant .restaurant .r_room .slick-next {
  right: 20%;
}

#restaurant .restaurant .fltbox {
  width: 1000px;
  margin: 55px auto 0;
  padding-bottom: 60px;
}

#restaurant .restaurant .r_title {
  text-align: center;
  margin-bottom: 40px;
  padding-top: 40px;
}

#restaurant .restaurant .fltbox .boxL {
  width: 400px;
}

#restaurant .restaurant .fltbox .boxL .txt {
  font-size: 16px;
  line-height: 1.7;
}

#restaurant .restaurant .fltbox .boxL .txt_box {
  margin-top: 30px;
  font-size: 15px;
  line-height: 1.7;
  box-sizing: border-box;
  padding: 15px;
  background: #efeadf;
}

/* right */
#restaurant .restaurant .fltbox .boxR {
  width: 520px;
}

#restaurant .restaurant .fltbox .boxR table {
  width: 100%;
  border-collapse: collapse;
}

#restaurant .restaurant .fltbox .boxR table tr {
  padding: 10px 0;
  border-bottom: 1px solid #bbbbbb;
}

#restaurant .restaurant .fltbox .boxR table tr:nth-of-type(1) {
  border-top: 1px solid #bbbbbb;
}

#restaurant .restaurant .fltbox .boxR table th {
  text-align: left;
  padding: 10px;
  box-sizing: border-box;
  width: 30%;
}

#restaurant .restaurant .fltbox .boxR table th span {
  display: block;
  border-right: 1px solid #bbbbbb;
  font-size: 14px;
}

#restaurant .restaurant .fltbox .boxR table td {
  font-size: 14px;
  text-align: left;
  padding: 10px;
  box-sizing: border-box;
  line-height: 1.6;
}

#restaurant .restaurant .fltbox .boxR table tr:nth-last-of-type(1) td {
  line-height: 20px;
  padding: 5px 10px;
}

@media only screen and (max-width: 768px) {
  #restaurant {
    width: 100%;
    background: #fff;
    margin: 0 auto;
  }
  #restaurant .restaurantop {
    width: 100%;
    background: #f4f4f4;
    margin: 0 auto;
  }
  #restaurant .restaurantop ul {
    width: 93%;
    margin: 0 auto;
  }
  #restaurant .restaurantop ul li {
    float: none;
    width: 100%;
    border-right: 0;
    border-bottom: 1px solid #a2936d;
  }
  #restaurant .restaurantop ul li:nth-last-of-type(1) {
    border-bottom: 0;
  }
  /* #restaurant .restaurantop ul li:nth-last-of-type(1) .img:before{
    content: "";
    background: url('/img/shop.png') no-repeat;
    width: 30px;
    height: 30px;
    background-size:contain;
    position: absolute;
    right: 0px;
    top: -5px;
  } */
  #restaurant .restaurantop ul li a {
    display: block;
    padding: 20px 0;
  }
  #restaurant .restaurantop ul li .img {
    margin: 0 auto;
  }
  #restaurant .restaurantop ul li .img:after {
    bottom: -20px;
  }
  #restaurant .restaurantop ul .txt_top {
    font-size: 12px;
    line-height: 1.6;
    padding: 30px 0;
  }
  #restaurant .restaurant {
    width: 100%;
    margin: 0 auto;
  }
  #restaurant .restaurant:nth-of-type(even) {
    width: 93%;
    margin: 0 auto;
    background: #fff;
  }
  #restaurant .restaurant .head01 {
    padding-top: 40px;
  }
  #restaurant .restaurant .r_room li {
    margin-left: 0;
    margin-right: 0;
  }
  #restaurant .restaurant .r_room li .img img {
    width: 100%;
  }
  #restaurant .restaurant:nth-of-type(odd) .r_room li .img {
    width: 93%;
    margin: 0 auto;
  }
  #restaurant .restaurant .r_room .slick-prev {
    left: -5px;
  }
  #restaurant .restaurant .r_room .slick-next {
    right: -5px;
  }
  #restaurant .restaurant:nth-of-type(odd) .r_room .slick-prev {
    left: 5px;
  }
  #restaurant .restaurant:nth-of-type(odd) .r_room .slick-next {
    right: 5px;
  }
  #restaurant .restaurant .fltbox {
    width: 100%;
    margin: 30px auto 0;
    padding-bottom: 40px;
  }
  #restaurant .restaurant:nth-of-type(odd) .fltbox {
    width: 93%;
    margin: 30px auto 0;
    padding-bottom: 40px;
  }
  #restaurant .restaurant .fltbox .boxL {
    width: 100%;
  }
  #restaurant .restaurant .fltbox .boxL .txt {
    font-size: 12px;
    line-height: 1.5;
  }
  /* right */
  #restaurant .restaurant .fltbox .boxR {
    width: 100%;
  }
  #restaurant .restaurant .fltbox .boxR .fplan {
    margin-top: 20px;
  }
  #restaurant .restaurant .fltbox .boxR .fplan img {
    max-width: 100%;
  }
  #restaurant .restaurant .fltbox .boxR table {
    margin-top: 20px;
  }
  #restaurant .restaurant .fltbox .boxR table th {
    font-size: 12px;
    width: 35%;
  }
  #restaurant .restaurant .fltbox .boxR table td {
    font-size: 14px;
  }
  /* 220920 */
  #restaurant .restaurantop ul.clm3 li {
    width: 100%;
  }
}
#gihan {
  margin-top: -30px;
  padding-top: 30px;
}

#gihan .gihan {
  width: 1000px;
  margin: 80px auto 100px;
}

#gihan .gihan .top_title,
#guest_service .guest_service .top_title {
  text-align: center;
  font-size: 40px;
  font-family: "Spectral SC", serif;
  color: #a38b4e;
}

#gihan .gihan .top_title span,
#guest_service .guest_service .top_title span {
  display: block;
  font-size: 20px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 2;
}

#gihan .gihan .fltbox {
  margin-top: 25px;
}

#gihan .gihan .boxL {
  width: 100%;
  max-width: 520px;
}

#gihan .gihan .boxL .img {
  width: 100%;
  max-width: 520px;
}

#gihan .gihan .boxL img {
  width: 100%;
}

#gihan .gihan .boxL .slick-dots {
  bottom: -13%;
}

#gihan .gihan .boxL .slick-dots li.slick-active button:before {
  background: #6c5c33;
}

#gihan .gihan .boxL .slick-dots li button:before {
  background: #dad6cc;
}

#gihan .gihan .boxL .slick-dots li {
  margin: 0 2px;
}

/* gihanbox */
#gihan .gihan .boxR {
  width: 420px;
}

#gihan .gihan .boxR h2 {
  text-align: center;
}

#gihan .gihan .boxR h3 {
  text-align: center;
  font-size: 22px;
  margin-top: 15px;
  letter-spacing: 1px;
}

#gihan .gihan .boxR .gihan_gold {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 19px;
  color: #a38b4c;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 2px;
  margin-top: 30px;
}

#gihan .gihan .boxR .txt {
  font-size: 16px;
  line-height: 1.6;
  margin-top: 30px;
  letter-spacing: 1px;
}

#gihan .gihan .fltbox .boxR table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 30px;
}

#gihan .gihan .fltbox .boxR table tr {
  padding: 10px 0;
  border-bottom: 1px solid #bbbbbb;
}

#gihan .gihan .fltbox .boxR table tr:nth-of-type(1) {
  border-top: 1px solid #bbbbbb;
}

#gihan .gihan .fltbox .boxR table th {
  font-size: 14px;
  text-align: left;
  padding: 10px;
  box-sizing: border-box;
  width: 30%;
}

#gihan .gihan .fltbox .boxR table th span {
  display: block;
  border-right: 1px solid #bbbbbb;
  line-height: 1.2;
}

#gihan .gihan .fltbox .boxR table td {
  font-size: 14px;
  text-align: left;
  padding: 10px;
  box-sizing: border-box;
  line-height: 1.6;
}

/* 240731ワイン */
.flex {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
  margin-top: 3%;
  flex-wrap: wrap;
}

.wine-container {
  border: 1px solid #ba9812;
  padding: 20px;
  width: 300px;
  margin: 13px auto;
}

.flag {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.flag img {
  width: 30px;
  height: auto;
}

.details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}

.wine-details,
.event-details {
  margin-bottom: 28px;
  font-size: 13px;
  line-height: 1.8rem;
}

.wine-details p {
  margin: 5px 0;
}

.wine-description {
  border-top: 1px solid #bbb;
  padding-top: 10px;
  line-height: 2.5rem;
}

span.wine-name {
  margin-left: 12px;
}

/* もっと見る・閉じるボタン */
.wine-container.hidden {
  display: none;
}

.button-container,
.button-container-wine {
  text-align: center;
  margin-top: 2%;
  /* display: flex; */
  justify-content: center;
}

button#showMoreBtn,
button#showLessBtn {
  display: block;
  border: 1px solid #9e8b63;
  color: #9e8b63;
  width: 237px;
  text-align: center;
  padding: 15px;
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
  margin-top: 0px;
  margin-right: auto;
  margin-bottom: 18px;
  background-color: #fff;
  margin-left: auto;
}

p.p-txt {
  text-align: center;
  margin: 0 auto 5% auto;
}

p.w-txt {
  text-align: center;
  margin-top: 3%;
  line-height: 1.5;
}

@media only screen and (max-width: 768px) {
  #gihan .gihan {
    width: 93%;
    margin: 40px auto 50px;
  }
  #gihan .gihan .top_title,
  #guest_service .guest_service .top_title {
    font-size: 20px;
  }
  #gihan .gihan .top_title span,
  #guest_service .guest_service .top_title span {
    font-size: 15px;
    line-height: 1.6;
  }
  #gihan .gihan .fltbox {
    margin-top: 10px;
  }
  #gihan .gihan .boxL {
    max-width: initial;
  }
  #gihan .gihan .boxL .img {
    max-width: initial;
  }
  /* gihanbox */
  #gihan .gihan .boxR {
    width: 100%;
  }
  #gihan .gihan .boxR h3 {
    font-size: 18px;
    margin-top: 10px;
  }
  #gihan .gihan .boxR .gihan_gold {
    font-size: 14px;
    margin-top: 38px;
  }
  #gihan .gihan .boxR .txt {
    font-size: 12px;
    line-height: 1.5;
    margin-top: 10px;
  }
  #gihan .gihan .fltbox .boxR table {
    margin-top: 20px;
  }
  #gihan .gihan .fltbox .boxR table th {
    font-size: 12px;
    width: 35%;
  }
  #gihan .gihan .fltbox .boxR table td {
    font-size: 13px;
  }
  /* 230711 */
  .obsession_flex.reverse {
    flex-direction: row;
  }
  #gihan .gihan.obsession {
    width: 93%;
  }
  .obsession_flex {
    margin-bottom: 15%;
  }
  .obsession_flex .obsession_img {
    margin-bottom: 10%;
  }
  .obsession_flex .obsession_txt h3 {
    font-size: 20px;
    margin-bottom: 8%;
  }
  .obsession_flex .obsession_txt strong {
    font-size: 16px;
  }
  .obsession_flex .obsession_txt p {
    font-size: 14px;
  }
  .row-buttons {
    padding-bottom: 12%;
  }
  .row-buttons > *:nth-child(n+2) {
    margin-left: 4%;
  }
  #gihan .boxL .movie {
    padding-bottom: 56.25%;
    width: auto;
    margin: 10% auto;
    height: 0;
    overflow: hidden;
    position: relative;
  }
  #gihan .boxL .movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .right_img,
  .right_img img {
    width: 100%;
  }
  .right_img {
    margin-top: 6%;
  }
  #gihan .gihan .boxR .row-buttons {
    margin-top: 15%;
  }
  #gihan .gihan .boxR .row-buttons .button-01 {
    font-size: 3.5vw;
  }
  .row-buttons.menu_pdf {
    margin-top: 12%;
  }
  .row-buttons.menu_pdf .button-01 {
    font-size: 3.8vw;
    width: 65%;
  }
  /* 240717MENUアンカー */
  .plan4-an {
    display: flex;
    justify-content: center;
    margin-top: 4%;
    padding-top: 0px;
    width: 100%;
  }
  .flex_w {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .inline_next_link2 {
    padding-right: 0;
    padding-left: 0;
    margin-bottom: 10px !important;
  }
  .btn_clear2 {
    text-align: center;
  }
  .inline_next_link2 li {
    display: inline-block;
    width: 48%;
    padding: 5px;
  }
  .btn_clear2 a {
    display: block;
    border: 1px solid #9e8b63;
    color: #9e8b63;
    width: 100%;
    text-align: center;
    padding: 10px;
    font-size: 14px;
    font-family: YuMincho, "Yu Mincho", serif;
    margin-top: 0px;
    margin-right: auto;
    margin-left: auto;
  }
  #waA,
  #yoA,
  #waB,
  #yoB {
    padding-top: 10px;
    margin-top: 10px;
  }
  /* お客様の声 */
  .m-listVoice2Column__item {
    width: 100%;
  }
  .m-listVoice2Column {
    margin: -40px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .m-listVoice2Column__item {
    width: 100%;
  }
  .m-listVoice2Column__item {
    margin: 25px 0;
  }
  .m-listVoice2Column__thumbWrap {
    width: 152px;
    min-width: 152px;
    overflow: hidden;
    flex-shrink: 0;
  }
  .m-listVoice2Column__item .m-listVoice2Column__info {
    margin: 10px 0 0;
    width: 100%;
  }
  .m-listVoice2Column__item .m-baloon {
    margin-top: 8px;
  }
  .m-listVoice2Column__item .m-baloon::before {
    top: -20px;
    left: 30%;
    border-right: 28px solid #f8f8f8;
    border-top: 20px solid transparent;
  }
  .m-baloon::before {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
  }
  .m-listVoice2Column figure {
    flex-direction: column;
    align-items: center;
  }
  .top-m {
    margin: 15% auto 30% auto;
  }
  .m-listVoice2Column__item .m-baloon {
    margin-left: initial;
  }
  .txt-r {
    text-align: end;
    margin-top: 35px;
    font-size: 12px;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  .sp-image {
    width: 100%;
  }
  /* 240731ワイン */
  .flex {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
    margin-top: 3%;
    flex-wrap: wrap;
  }
  .wine-container {
    border: 1px solid #ba9812;
    padding: 20px;
    width: 300px;
    margin: 8px auto;
  }
  .flag {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
  }
  .flag img {
    width: 30px;
    height: auto;
  }
  .details {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
  }
  .wine-details,
  .event-details {
    margin-bottom: 28px;
    font-size: 13px;
    line-height: 1.8rem;
  }
  .wine-details p {
    margin: 7px 0;
  }
  .wine-description {
    border-top: 1px solid #bbbbbb;
    padding-top: 10px;
    line-height: 2.5rem;
  }
  span.wine-name {
    margin-left: 12px;
  }
  /* もっと見る・閉じるボタン */
  .wine-container.hidden {
    display: none;
  }
  .button-container,
  .button-container-wine {
    text-align: center;
    margin-top: 8%;
    /* display: flex; */
    justify-content: center;
  }
  button#showMoreBtn,
  button#showLessBtn {
    display: block;
    border: 1px solid #9e8b63;
    color: #9e8b63;
    width: 237px;
    text-align: center;
    padding: 10px;
    font-size: 15px;
    font-family: YuMincho, "Yu Mincho", serif;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 18px;
    background-color: #fff;
    margin-left: auto;
  }
  /* イベント＆プラン */
  .event-container {
    width: 318px;
    border: 1px solid #ba9812;
    padding: 10px;
    margin-top: 8%;
  }
  .event-container img {
    width: 100%;
    height: auto;
  }
  .event-details {
    margin-top: 5%;
    padding: 0 10px;
  }
  .event-details p {
    margin: 16px 0;
    border-bottom: 1px solid #bbbbbb;
  }
  .buttons {
    text-align: center;
    margin-top: 10px;
  }
  .buttons a {
    display: inline-block;
    width: 80%;
    padding: 10px;
    margin: 5px 0;
    border: 1px solid black;
    background-color: white;
    text-align: center;
    text-decoration: none;
    color: black;
    cursor: pointer;
  }
  .buttons a:hover {
    background-color: #f0f0f0;
  }
  .mb {
    margin-bottom: 2%;
    color: #a38b4c;
    line-height: 1.5;
  }
  .event-buttons {
    display: flex;
    justify-content: space-around;
  }
  a.event-btn {
    background-color: #a38b4c;
    font-size: 14px;
    border: solid 2px #a38b4c;
    width: 42%;
    display: block;
    color: #fff !important;
    text-align: center;
    padding: 16px 15px 16px 15px;
    position: relative;
  }
  .ttl01 {
    border-bottom: 2px solid #bebebe;
    font-size: 260%;
    box-sizing: border-box;
    height: 41px;
    margin-bottom: 0px;
  }
  .ttl01 span {
    display: inline-block;
    box-sizing: border-box;
    padding-right: 20px;
    border-bottom: 2px solid #ba9812;
    height: 29px;
    font-size: 27px;
  }
  .e-container {
    max-width: 1000px;
    margin: 5% auto 3%;
  }
  .e-container-plan {
    max-width: 1000px;
    margin: 10% 20px;
  }
  /* プラン */
  .head-cho {
    padding-top: 90px;
    margin-top: -90px;
  }
  .clearfix {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .row-buttons {
    display: flex;
    justify-content: center;
    padding-bottom: 4%;
    padding-top: 3%;
  }
  .plan4 {
    display: flex;
    justify-content: center;
    margin-top: 4%;
  }
  .kdwrBox {
    border: 1px solid #bebebe;
  }
  .kdwrBox a {
    display: block;
  }
  #kdwrSubWrap {
    margin: 25px 0 10px 0;
  }
  #kdwrSubWrap .kdwrBox:first-child {
    margin-left: 0;
  }
  #kdwrSubWrap .kdwrBox {
    width: 320px;
    height: 350\\px;
    float: left;
    margin-left: 0px;
    box-sizing: border-box;
    margin-top: 6%;
  }
  .kdwrBox img {
    width: 100%;
    height: auto;
  }
  .kdwrBox dl {
    padding: 20px 15px;
  }
  .kdwrBox dt {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    margin: 12px 0 13px 0;
  }
  /*.kdwrBox dd{
    font-size: 100%;
  }*/
  #grKdwr02:hover,
  #grKdwr03:hover,
  #grKdwr04:hover {
    box-shadow: 0px 12px 24px #ababab;
    transform: translateY(-4px);
  }
  #grKdwr02,
  #grKdwr03,
  #grKdwr04 {
    transition: 0.3s;
    box-shadow: 0 1px 4px #ababab;
  }
  .row-buttons {
    display: flex;
    justify-content: center;
    padding-bottom: 4%;
    padding-top: 3%;
  }
  .row-buttons > *:nth-child(n+2) {
    margin-left: 20px;
  }
  a#other-wine {
    display: block;
    border: 1px solid #9e8b63;
    color: #9e8b63;
    width: 270px;
    text-align: center;
    padding: 15px;
    font-size: 16px;
    font-family: YuMincho, "Yu Mincho", serif;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 18px;
    background-color: #fff;
    margin-left: auto;
  }
  #other-wine:hover,
  #showMoreBtn:hover,
  #showLessBtn:hover {
    background: #a38b4c;
    transition: 1s;
    color: #fff !important;
  }
  p.p-txt {
    text-align: center;
    margin: 0 auto 5% auto;
    font-size: 14px;
  }
  p.w-txt {
    text-align: center;
    margin-top: 3%;
    line-height: 1.5;
    font-size: 12px;
  }
  p.yoyaku-ana {
    font-size: 12px;
    line-height: 1.5;
    margin: 0 11px;
    color: #444;
  }
  .button-02 {
    font-size: 15px;
  }
}
.pickup_box .hl {
  display: block !important;
  width: -moz-max-content !important;
  width: max-content !important;
  margin: -1em auto 0.5em !important;
}

.plan4-1:has(#business) {
  width: 90% !important;
}

#service #top_contents .boxL {
  padding: 3.5%;
  height: 280px;
}
#service #test01 {
  margin-top: -60px;
  padding-top: 60px;
}
#service {
  /* chrome */
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  #service #test01 {
    display: block;
    height: 0;
    margin-top: -80px;
    padding-top: 80px;
  }
}
#service {
  /* IE11 */
}
@media all and (-ms-high-contrast: none) {
  #service #test01 {
    display: block;
    height: 0;
    margin-top: -280px;
    padding-top: 280px;
  }
}
#service {
  /* gihan */
}
#service #gihan {
  margin-top: -30px;
  padding-top: 30px;
}
#service #gihan .gihan {
  width: 1000px;
  margin: 80px auto 100px;
}
#service #gihan .gihan .top_title,
#service #guest_service .guest_service .top_title {
  text-align: center;
  font-size: 40px;
  font-family: "Spectral SC", serif;
  color: #a38b4e;
}
#service #gihan .gihan .top_title span,
#service #guest_service .guest_service .top_title span {
  display: block;
  font-size: 20px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 2;
}
#service #gihan .gihan .fltbox {
  margin-top: 25px;
}
#service #gihan .gihan .boxL {
  width: 100%;
  max-width: 520px;
}
#service #gihan .gihan .boxL .img {
  width: 100%;
  max-width: 520px;
}
#service #gihan .gihan .boxL img {
  width: 100%;
}
#service #gihan .gihan .boxL .slick-dots {
  bottom: -13%;
}
#service #gihan .gihan .boxL .slick-dots li.slick-active button:before {
  background: #6c5c33;
}
#service #gihan .gihan .boxL .slick-dots li button:before {
  background: #dad6cc;
}
#service #gihan .gihan .boxL .slick-dots li {
  margin: 0 2px;
}
#service {
  /* gihanbox */
}
#service #gihan .gihan .boxR {
  width: 420px;
}
#service #gihan .gihan .boxR h2 {
  text-align: center;
}
#service #gihan .gihan .boxR h3 {
  text-align: center;
  font-size: 22px;
  margin-top: 15px;
  letter-spacing: 1px;
}
#service #gihan .gihan .boxR .gihan_gold {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 18px;
  color: #a38b4c;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 2px;
  margin-top: 30px;
}
#service #gihan .gihan .boxR .txt {
  font-size: 16px;
  line-height: 1.6;
  margin-top: 30px;
  letter-spacing: 1px;
}
#service #gihan .gihan .fltbox .boxR table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 30px;
}
#service #gihan .gihan .fltbox .boxR table tr {
  padding: 10px 0;
  border-bottom: 1px solid #bbbbbb;
}
#service #gihan .gihan .fltbox .boxR table tr:nth-of-type(1) {
  border-top: 1px solid #bbbbbb;
}
#service #gihan .gihan .fltbox .boxR table th {
  font-size: 14px;
  text-align: left;
  padding: 10px;
  box-sizing: border-box;
  width: 30%;
}
#service #gihan .gihan .fltbox .boxR table th span {
  display: block;
  border-right: 1px solid #bbbbbb;
  line-height: 1.2;
}
#service #gihan .gihan .fltbox .boxR table td {
  font-size: 14px;
  text-align: left;
  padding: 10px;
  box-sizing: border-box;
  line-height: 1.6;
}
#service {
  /* guest_service */
}
#service #guest_service {
  width: 100%;
  background: #f4f1ea;
}
#service #guest_service .guest_service {
  width: 1000px;
  margin: 0 auto;
  padding: 70px 0 100px;
}
#service #guest_service h2 {
  font-size: 32px;
  color: #a38b4c;
  text-align: center;
  margin-bottom: 20px;
}
#service #guest_service h2 i {
  font-size: 24px;
  display: block;
  line-height: 50px;
}
#service #guest_service .fltbox {
  width: 1000px;
  margin: 0 auto;
}
#service #guest_service .fltbox .boxL,
#service #guest_service .fltbox .boxR {
  width: 485px;
}
#service #guest_service .guest_box {
  background: #fff;
  padding: 25px;
  margin-bottom: 30px;
}
#service #guest_service .guest_box h3 {
  color: #a38b4c;
  font-size: 24px;
  text-align: center;
  margin: 20px auto 10px;
}
#service #guest_service .guest_box li {
  font-size: 14px;
  padding: 10px 0;
  line-height: 1.6;
  border-top: 1px dashed #c7c0af;
}
#service #guest_service .guest_box li:nth-last-of-type(1) {
  border-bottom: 1px dashed #c7c0af;
}
#service #guest_service .boxR .guest_box:nth-of-type(1) {
  padding: 25px 25px 32px 25px;
}
#service #guest_service .boxR .guest_box:nth-of-type(2) {
  padding: 25px 25px 47px 25px;
}
#service #guest_service .guest_box li p {
  padding-left: 1em;
  text-indent: -1em;
}
#service #guest_service .guestbtm p {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 15px;
  line-height: 1.6;
}
#service #guest_service .guestbtm p a {
  text-decoration: underline;
}
#service #guest_service .guestbtm p a:hover {
  text-decoration: none;
}
#service #guest_service .pdf p a {
  position: relative;
  text-decoration: underline;
}
#service #guest_service .pdf p a:before {
  content: "\f1c1";
  font-family: "fontawesome";
  color: #ff3333;
}
#service #guest_service .pdf p a:hover {
  text-decoration: none;
}
#service {
  /*8/1チェックアウト時間変更*/
}
#service .alart8 {
  color: #fff !important;
  padding-top: 1% !important;
}
#service {
  /* 230711 */
}
#service #gihan .gihan.obsession {
  width: 1200px;
}
#service #gihan .gihan.obsession .top_title {
  margin-bottom: 25px;
}
#service .obsession_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
#service .obsession_flex.reverse {
  flex-direction: row-reverse;
}
#service .obsession_flex .obsession_img,
#service .obsession_flex .obsession_txt {
  width: 580px;
}
#service .obsession_flex .obsession_txt h3 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 40px;
}
#service .obsession_flex .obsession_txt strong {
  display: block;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  font-size: 20px;
}
#service .obsession_flex .obsession_txt p,
#service .voice-txt {
  line-height: 170%;
}
#service .obsession_flex .obsession_img img {
  width: 100%;
}
#service .row-buttons {
  display: flex;
  justify-content: center;
  padding-bottom: 4%;
  align-items: center;
  margin-top: 130px;
}
#service .row-buttons > *:nth-child(n+2) {
  margin-left: 35px;
}
#service .button-01 {
  background-color: #a38b4c;
  font-size: 18px;
  border: solid 2px #a38b4c;
  width: 20%;
  display: block;
  color: #fff !important;
  text-align: center;
  padding: 19px 30px 19px 25px;
  position: relative;
}
#service .button-01::after {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  transform: rotate(45deg);
  transition: 0.3s;
  z-index: 10;
}
#service .button-01:hover::after {
  border-top: 1px solid #a38b4c;
  border-right: 1px solid #a38b4c;
}
#service .button-01:hover {
  background: #fff;
  transition: 1s;
  color: #a38b4c !important;
}
#service #gihan .gihan .boxR .row-buttons {
  margin-top: 50px;
}
#service #gihan .gihan .boxR .row-buttons .button-01 {
  font-size: 14px;
  width: 48%;
}
#service .row-buttons.menu_pdf {
  margin-top: 40px;
}
#service .row-buttons.menu_pdf .button-01 {
  font-size: 16px;
  width: 45%;
  background: #f9f8f3;
  color: #a38b4c !important;
  font-weight: bold;
  line-height: 23px;
}
#service .row-buttons.menu_pdf .button-01::after {
  border-top: 1px solid #a38b4c;
  border-right: 1px solid #a38b4c;
}
#service .row-buttons.menu_pdf .button-01:hover {
  background: #a38b4c;
  color: #fff !important;
}
#service .row-buttons.menu_pdf .button-01:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
#service {
  /* 240717MENUアンカーボタン */
}
#service .plan4-an {
  display: flex;
  justify-content: center;
  margin-top: 4%;
  padding-top: 30px;
}
#service .inline_next_link2 {
  padding-right: 0;
  padding-bottom: 20px;
  padding-left: 0;
  margin-bottom: 50px;
}
#service .btn_clear2 {
  text-align: center;
}
#service .clearfix {
  display: inline-block;
  min-height: 1%;
}
#service .inline_next_link2 li {
  display: inline-block;
  padding: 5px;
  height: 50px;
}
#service .btn_clear2 a {
  display: block;
  border: 1px solid #9e8b63;
  color: #9e8b63;
  width: 237px;
  text-align: center;
  padding: 15px;
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
  margin-top: 0px;
  margin-right: auto;
  margin-bottom: 50px;
  margin-left: auto;
}
#service .inline_next_link2 li {
  display: inline-block;
  padding: 5px;
  height: 50px;
}
#service .fa-angle-down:before {
  content: "\f107";
}
#service .btn_clear2 a i {
  font-size: 20px;
  margin-right: 10px;
}
#service #waA,
#service #yoA {
  padding-top: 130px;
  margin-top: -130px;
}
#service #waB,
#service #yoB {
  padding-top: 90px;
  margin-top: 90px;
}
#service {
  /* お客様の声 */
}
#service .m-listVoice2Column__item {
  width: calc(49% - 15px);
  margin: 40px 0;
}
#service .m-baloon {
  position: relative;
  background: #f8f8f8;
  border-radius: 10px;
  padding: 36px;
}
#service .m-listVoice2Column {
  margin: -40px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#service article {
  display: block;
}
#service .m-listVoice2Column figure {
  display: flex;
  align-items: flex-start;
  margin: 0;
}
#service .m-listVoice2Column__thumbWrap {
  width: 152px;
  min-width: 152px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
#service .m-listVoice2Column__item .m-listVoice2Column__info {
  width: 100%;
  margin-left: 20px;
}
#service .m-listVoice2Column__item .m-baloon {
  margin-left: 20px;
}
#service .m-listVoice2Column__item .m-baloon::before {
  top: 75px;
}
#service .m-listVoice2Column__item .m-baloon::before {
  left: -20px;
  top: calc(50% - 14px);
  border-right: 20px solid #f8f8f8;
  border-bottom: 28px solid transparent;
}
#service .m-baloon::before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
}
#service .m-listVoice2Column .m-heading__Lv4 {
  margin-bottom: 15px;
}
#service .m-heading__Lv4 {
  line-height: 1.4em;
  letter-spacing: 0.04em;
  font-weight: 500;
  font-size: 18px;
  color: #9fa115;
}
#service .m-nowL,
#service .m-noWR,
#service .m-nowC {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
#service img.koe {
  max-width: 100%;
  height: auto;
  border-radius: 50%;
}
#service .top-m {
  margin: 6% auto 13% auto;
}
#service .txt-r {
  text-align: end;
  margin-top: 30px;
  font-size: 13px;
}
#service .pc-only {
  display: block;
}
#service .sp-only {
  display: none;
}

@media only screen and (max-width: 768px) {
  #service #test01 {
    margin-top: 0px;
    padding-top: 0px;
  }
  #service #top_contents .boxL {
    padding: 4%;
    height: initial;
  }
  #service #gihan .gihan {
    width: 93%;
    margin: 40px auto 50px;
  }
  #service #gihan .gihan .top_title,
  #service #guest_service .guest_service .top_title {
    font-size: 20px;
  }
  #service #gihan .gihan .top_title span,
  #service #guest_service .guest_service .top_title span {
    font-size: 15px;
    line-height: 1.6;
  }
  #service #gihan .gihan .fltbox {
    margin-top: 10px;
  }
  #service #gihan .gihan .boxL {
    max-width: initial;
  }
  #service #gihan .gihan .boxL .img {
    max-width: initial;
  }
  #service {
    /* gihanbox */
  }
  #service #gihan .gihan .boxR {
    width: 100%;
  }
  #service #gihan .gihan .boxR h3 {
    font-size: 18px;
    margin-top: 10px;
  }
  #service #gihan .gihan .boxR .gihan_gold {
    font-size: 16px;
    margin-top: 10px;
  }
  #service #gihan .gihan .boxR .txt {
    font-size: 12px;
    line-height: 1.5;
    margin-top: 10px;
  }
  #service #gihan .gihan .fltbox .boxR table {
    margin-top: 20px;
  }
  #service #gihan .gihan .fltbox .boxR table th {
    font-size: 12px;
    width: 35%;
  }
  #service #gihan .gihan .fltbox .boxR table td {
    font-size: 13px;
  }
  #service {
    /* guide */
  }
  #service #guide {
    background-size: cover;
  }
  #service #guide .guide {
    padding: 40px 0;
  }
  #service #guide h2 {
    font-size: 22px;
    color: #fff;
    text-align: center;
    margin-bottom: 20px;
  }
  #service #guide h2 i {
    font-size: 16px;
    display: block;
    line-height: 35px;
  }
  #service #guide .fltbox {
    width: 93%;
  }
  #service #guide .fltbox .boxL {
    width: 100%;
  }
  #service #guide .fltbox .boxL .img {
    width: 40%;
    margin: 0 auto;
  }
  #service #guide .fltbox .boxL .img img {
    width: 100%;
  }
  #service #guide .fltbox .boxR {
    width: 100%;
  }
  #service #guide .fltbox .boxR h3 {
    font-size: 18px;
    padding: 5px;
    margin-top: 15px;
    margin-bottom: 5px;
  }
  #service #guide .fltbox .boxR li.first h3 {
    margin-top: 15px;
  }
  #service #guide .fltbox .boxR p {
    font-size: 12px;
  }
  #service {
    /* guest_service */
  }
  #service #service_anchor {
    margin-top: -890px;
    padding-top: 890px;
  }
  #service #guest_service .guest_service {
    width: 93%;
    padding: 40px 0 50px;
  }
  #service #guest_service h2 {
    font-size: 22px;
    color: #a38b4c;
    text-align: center;
    margin-bottom: 20px;
  }
  #service #guest_service h2 i {
    font-size: 16px;
    display: block;
    line-height: 35px;
  }
  #service #guest_service .fltbox {
    width: 100%;
  }
  #service #guest_service .fltbox .boxL,
  #service #guest_service .fltbox .boxR {
    width: 100%;
  }
  #service #guest_service .guest_box {
    padding: 10px;
    margin-bottom: 20px;
  }
  #service #guest_service .guest_box h3 {
    font-size: 16px;
    margin: 10px auto;
  }
  #service #guest_service .guest_box li {
    font-size: 12px;
    padding: 5px 0;
    line-height: 1.6;
  }
  #service #guest_service .boxR .guest_box:nth-of-type(1) {
    padding: 10px;
  }
  #service #guest_service .boxR .guest_box:nth-of-type(2) {
    padding: 10px;
  }
  #service #guest_service .guestbtm p {
    font-size: 12px;
  }
  #service {
    /*8/1チェックアウト時間変更*/
  }
  #service .alart8 {
    padding-top: 3% !important;
    font-size: 12px !important;
  }
  #service {
    /* 230711 */
  }
  #service .obsession_flex.reverse {
    flex-direction: row;
  }
  #service #gihan .gihan.obsession {
    width: 93%;
  }
  #service .obsession_flex {
    margin-bottom: 15%;
  }
  #service .obsession_flex .obsession_img {
    margin-bottom: 10%;
  }
  #service .obsession_flex .obsession_txt h3 {
    font-size: 20px;
    margin-bottom: 8%;
  }
  #service .obsession_flex .obsession_txt strong {
    font-size: 16px;
  }
  #service .obsession_flex .obsession_txt p {
    font-size: 14px;
  }
  #service .row-buttons {
    padding-bottom: 12%;
    margin-top: 15%;
  }
  #service .row-buttons > *:nth-child(n+2) {
    margin-left: 4%;
  }
  #service .button-01 {
    font-size: 3.5vw;
    width: 45%;
    text-align: center;
    padding: 4% 5% 4% 2%;
    line-height: 21px;
    margin: 0 3px;
  }
  #service .button-01:hover {
    background: #fff;
    transition: 1s;
    color: #a38b4c !important;
  }
  #service .button-01::after {
    width: 2vw;
    height: 2vw;
    right: 5%;
  }
  #service #gihan .boxL .movie {
    padding-bottom: 56.25%;
    width: auto;
    margin: 10% auto;
    height: 0;
    overflow: hidden;
    position: relative;
  }
  #service #gihan .boxL .movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  #service .right_img,
  #service .right_img img {
    width: 100%;
  }
  #service .right_img {
    margin-top: 10%;
  }
  #service #gihan .gihan .boxR .row-buttons {
    margin-top: 15%;
  }
  #service #gihan .gihan .boxR .row-buttons .button-01 {
    font-size: 3.5vw;
  }
  #service .row-buttons.menu_pdf {
    margin-top: 12%;
  }
  #service .row-buttons.menu_pdf .button-01 {
    font-size: 3.8vw;
    width: 65%;
  }
  #service {
    /* 240717MENUアンカー */
  }
  #service .plan4-an {
    display: flex;
    justify-content: center;
    margin-top: 4%;
    padding-top: 0px;
    width: 100%;
  }
  #service .flex_w {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #service .inline_next_link2 {
    padding-right: 0;
    padding-left: 0;
    margin-bottom: 10px !important;
  }
  #service .btn_clear2 {
    text-align: center;
  }
  #service .inline_next_link2 li {
    display: inline-block;
    width: 48%;
    padding: 5px;
  }
  #service .btn_clear2 a {
    display: block;
    border: 1px solid #9e8b63;
    color: #9e8b63;
    width: 100%;
    text-align: center;
    padding: 10px;
    font-size: 14px;
    font-family: YuMincho, "Yu Mincho", serif;
    margin-top: 0px;
    margin-right: auto;
    margin-left: auto;
  }
  #service #waA,
  #service #yoA,
  #service #waB,
  #service #yoB {
    padding-top: 10px;
    margin-top: 10px;
  }
  #service {
    /* お客様の声 */
  }
  #service .m-listVoice2Column__item {
    width: 100%;
  }
  #service .m-listVoice2Column {
    margin: -40px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #service .m-listVoice2Column__item {
    width: 100%;
  }
  #service .m-listVoice2Column__item {
    margin: 25px 0;
  }
  #service .m-listVoice2Column__thumbWrap {
    width: 152px;
    min-width: 152px;
    overflow: hidden;
    flex-shrink: 0;
  }
  #service .m-listVoice2Column__item .m-listVoice2Column__info {
    margin: 10px 0 0;
    width: 100%;
  }
  #service .m-listVoice2Column__item .m-baloon {
    margin-top: 8px;
  }
  #service .m-listVoice2Column__item .m-baloon::before {
    top: -20px;
    left: 30%;
    border-right: 28px solid #f8f8f8;
    border-top: 20px solid transparent;
  }
  #service .m-baloon::before {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
  }
  #service .m-listVoice2Column figure {
    flex-direction: column;
    align-items: center;
  }
  #service .top-m {
    margin: 15% auto 30% auto;
  }
  #service .m-listVoice2Column__item .m-baloon {
    margin-left: initial;
  }
  #service .txt-r {
    text-align: end;
    margin-top: 35px;
    font-size: 12px;
  }
  #service .pc-only {
    display: none;
  }
  #service .sp-only {
    display: block;
  }
  #service .sp-image {
    width: 100%;
  }
}
/* 観光案内トップ */
#sightseeing #spot .spot {
  margin-bottom: 100px;
}
#sightseeing .nav {
  width: 100%;
  background: #f4f4f4;
}
#sightseeing .nav ul {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 0;
  display: flex;
  flex-flow: row nowrap;
}
#sightseeing .nav ul li {
  width: 50%;
  text-align: center;
  border-right: 1px solid #a2936d;
}
#sightseeing .nav ul li:nth-last-of-type(1) {
  border-right: 0;
}
#sightseeing .nav ul li a {
  display: block;
  padding: 2rem 0;
  font-size: 20px;
  font-weight: bold;
  color: #93845e;
  margin: 25px auto 30px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #sightseeing .nav ul li a {
    font-size: 14px;
    margin: 10px auto 0;
  }
}
#sightseeing .nav ul li a:after {
  content: "\f107";
  font-family: "FontAwesome";
  position: absolute;
  font-size: 24px;
  left: 50%;
  margin-left: -8px;
  bottom: 0;
}
@media only screen and (max-width: 768px) {
  #sightseeing .nav ul li a:after {
    font-size: 20px;
    margin-left: -6.5px;
  }
}
#sightseeing .nav2 {
  width: 100%;
}
#sightseeing .nav2 ul {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 4rem 0 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 1rem;
}
#sightseeing .nav2 ul li {
  width: calc((100% - 3rem) / 4);
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #sightseeing .nav2 ul li {
    width: 80%;
  }
}
#sightseeing .nav2 ul li a {
  display: block;
  padding: 1.5rem 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #93845e;
  position: relative;
  border: solid 1px #93845e;
}
@media only screen and (max-width: 768px) {
  #sightseeing .nav2 ul li a {
    font-size: 14px;
  }
}
#sightseeing .nav2 ul li a i {
  font-size: 2rem;
  margin-right: 1rem;
}
#sightseeing .nav2 ul li a:hover {
  background-color: #93845e;
  color: #fff;
}
#sightseeing #spot .nav2 + .spot {
  margin-top: 0 !important;
}
#sightseeing .spot section {
  padding: 3em 0;
}
#sightseeing .spot-h2 {
  padding: 3em 0;
}
#sightseeing .spot-h2 h2 {
  text-align: center;
  color: #a38b4c;
  font-size: 32px;
  font-family: YuMincho, "Yu Mincho", serif;
  color: #fff;
}
#sightseeing .spot-pick {
  width: 100%;
  order: 3;
  margin: 2em 0 0;
}
#sightseeing .spot-pick ul {
  width: 100%;
  max-width: 890px;
  margin: 0 auto;
  font-size: 0;
  display: flex;
}
#sightseeing .spot-pick ul li {
  width: 33.3333333333%;
  max-width: 250px;
  display: inline-block;
  vertical-align: top;
  margin-right: 66px;
}
#sightseeing .spot-pick ul li:nth-last-of-type(1) {
  margin-right: 0;
}
#sightseeing .spot-pick ul li .img {
  text-align: center;
}
#sightseeing .spot-pick ul li h3 {
  font-size: 18px;
  color: #a38b4c;
  text-align: center;
  margin: 15px auto;
  letter-spacing: -1px;
}
#sightseeing .spot-pick ul li .txt {
  font-size: 15px;
  font-weight: 500;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.5;
}
#sightseeing .row-buttons {
  width: 100%;
  margin-top: 2em;
  order: 4;
}
#sightseeing .button-02 {
  position: relative;
  width: 50%;
  max-width: 312px;
  display: block;
  padding: 13px 0;
  background-color: #a38b4c;
  font-size: 16px;
  font-size: 18px;
  border: solid 2px #a38b4c;
  color: #fff !important;
  margin: 0 auto;
  text-align: center;
}
#sightseeing .button-02::after {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  transform: rotate(45deg);
  transition: 0.3s;
  z-index: 10;
}
#sightseeing .button-02:hover {
  background: #fff;
  transition: 1s;
  color: #a38b4c;
}
#sightseeing .button-02:hover::after {
  border-top: 1px solid #a38b4c;
  border-right: 1px solid #a38b4c;
}
#sightseeing {
  /* スライダー */
}
#sightseeing .slide_spot {
  background: #333333;
  padding: 50px 0;
}
#sightseeing .slide_spot li {
  margin-left: 15px;
  margin-right: 15px;
}
#sightseeing .slide_spot .slick-prev {
  left: 20%;
}
#sightseeing .slide_spot .slick-next {
  right: 20%;
}
#sightseeing {
  /* 地図 */
}
#sightseeing .map {
  width: 100%;
  max-width: 1200px;
  margin: 80px auto 100px;
}
#sightseeing .map-block {
  overflow: hidden;
}
#sightseeing .map-block iframe {
  height: calc(100% + 67px);
  margin-top: -67px;
}
#sightseeing .map iframe {
  height: 580px;
}
#sightseeing {
  /* 観光地 */
}
#sightseeing .spot article {
  width: 96%;
  max-width: 1200px;
  margin: 80px auto 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.6;
  margin-top: -40px;
  padding: 120px 0 100px;
}
#sightseeing .spot article:nth-of-type(2n - 1) .text_area,
#sightseeing .spot article:nth-of-type(2n) .img_area {
  order: 1;
}
#sightseeing .spot article:nth-of-type(2n) .text_area,
#sightseeing .spot article:nth-of-type(2n - 1) .img_area {
  order: 2;
}
#sightseeing .spot article.is-odd .text_area,
#sightseeing .spot article.is-even .img_area {
  order: 1;
}
#sightseeing .spot article.is-even .text_area,
#sightseeing .spot article.is-odd .img_area {
  order: 2;
}
#sightseeing .spot article .text_area {
  width: 55%;
  max-width: 660px;
}
#sightseeing .spot article h2 {
  color: #a38b4c;
  font-family: YuMincho, "Yu Mincho", serif;
}
#sightseeing .spot article .text_area h2 {
  margin-bottom: 30px;
  font-size: 32px;
}
#sightseeing .spot article .text_area .route {
  width: 100%;
  max-width: 657px;
  margin-top: 40px;
}
#sightseeing .spot article .img_area {
  width: 40%;
  max-width: 480px;
}
#sightseeing .spot article .img_area h2 {
  display: none;
}
#sightseeing .link-bk {
  display: block;
  border: 1px solid #9e8b63;
  color: #9e8b63;
  width: 237px;
  text-align: center;
  padding: 15px;
  font-size: 16px;
  font-family: YuMincho, "Yu Mincho", serif;
  margin-top: 0px;
  margin-right: auto;
  margin-bottom: 18px;
  background-color: #fff;
  margin-left: auto;
}
#sightseeing {
  /* 大阪 */
}
#sightseeing.osaka article h2 {
  color: #700909;
}
#sightseeing #osaka .spot-h2, #sightseeing.osaka #spot hgroup.spot-h2, #sightseeing.osaka #top_contents,
#sightseeing #osaka .button-02, #sightseeing.osaka .button-02 {
  background-color: #700909;
}
#sightseeing #osaka .button-02,
#sightseeing #osaka .button-02:hover:after {
  border-color: #700909;
}
#sightseeing #osaka .button-02:hover {
  background-color: #fff;
  color: #700909 !important;
}
#sightseeing.osaka .slide_spot {
  background-color: #765151;
}
#sightseeing {
  /* 京都 */
}
#sightseeing.kyoto article h2 {
  color: #3c4a02;
}
#sightseeing #kyoto .spot-h2,
#sightseeing #kyoto .button-02, #sightseeing.kyoto .spot-h2, #sightseeing.kyoto .button-02, #sightseeing.kyoto #top_contents {
  background-color: #3c4a02;
}
#sightseeing #kyoto .button-02,
#sightseeing #kyoto .button-02:hover:after {
  border-color: #3c4a02;
}
#sightseeing #kyoto .button-02:hover {
  background-color: #fff;
  color: #3c4a02 !important;
}
#sightseeing.kyoto .slide_spot {
  background-color: #656a4f;
}
#sightseeing {
  /*  */
}
#sightseeing #spot hgroup {
  background-color: #f4f4f4;
  padding: 5em 0;
}
#sightseeing #spot hgroup h1,
#sightseeing #spot hgroup strong {
  color: #a38b4c;
  font-family: YuMincho, "Yu Mincho", serif;
}
#sightseeing #spot hgroup h1 {
  text-align: center;
  font-size: 32px;
  margin-bottom: 1em;
}
#sightseeing #spot hgroup .txt {
  max-width: 1200px;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
  line-height: 1.6;
}
#sightseeing #spot hgroup .txt strong {
  font-size: 26px;
  display: block;
  margin-bottom: 0.7em;
}
#sightseeing #spot .spot .route img:nth-child(2n) {
  margin-top: 10px;
}
#sightseeing #spot .spot .fltbox:has(.map) {
  padding-bottom: 0;
}
#sightseeing .main_bn {
  max-width: 1100px;
  margin: 0 auto 30px;
}
#sightseeing .sub-title {
  margin-top: 1em;
}
#sightseeing article.spot {
  width: 100%;
  max-width: 1200px;
  margin: 80px auto 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
#sightseeing article.spot .text_area {
  width: 55%;
  max-width: 660px;
}
#sightseeing article.spot .text_area h2 {
  color: #a38b4c;
  font-size: 32px;
  font-family: YuMincho, "Yu Mincho", serif;
  margin-bottom: 30px;
}
#sightseeing article.spot .text_area .route {
  width: 100%;
  max-width: 657px;
}
#sightseeing article.spot .img_area {
  width: 40%;
  max-width: 480px;
}
@media only screen and (min-width: 769px) {
  #sightseeing #access {
    width: 100%;
    padding: 40px 0 80px;
    background: #f4f4f4;
    font-size: 15px;
    font-weight: 500;
    font-family: YuMincho, "Yu Mincho", serif;
  }
  #sightseeing #access .btn_clear {
    width: 100%;
    text-align: center;
  }
  #sightseeing .accessBox01 {
    width: 20%;
    height: 280px;
    padding: 10px;
    border-left: 1px solid #b1a281;
    border-bottom: 1px solid #b1a281;
    float: left;
  }
  #sightseeing .accessBox01 th {
    font-weight: bold;
    color: #b1a281;
    text-align: center;
    border-top: 1px solid #b1a281;
    padding: 6px;
  }
  #sightseeing .accessBox01 th span {
    color: #b1a281;
    margin-right: 5px;
    font-size: 20px;
  }
  #sightseeing .accessBox01 .accessTxt01 {
    width: 20%;
    font-weight: bold;
    font-size: 1em;
    vertical-align: top;
    padding: 0 0 0 10px;
  }
  #sightseeing .accessTxt01 {
    width: 20%;
    font-weight: bold;
    font-size: 1em;
    vertical-align: top;
    padding: 3px 0 0 10px;
  }
  #sightseeing .accessTxt02 {
    font-size: 1em;
    line-height: 0;
  }
  #sightseeing .accessTxt03 {
    text-align: center;
  }
  #sightseeing .accessTxt03 span {
    margin: 0 5px;
    font-size: 20px;
    font-weight: bold;
    color: #b1a281;
  }
  #sightseeing .accessBox02 {
    width: 20%;
    height: 280px;
    padding: 10px;
    border-left: 1px solid #b1a281;
    border-bottom: 1px solid #b1a281;
    float: left;
  }
  #sightseeing .accessBox02 th {
    font-weight: bold;
    color: #b1a281;
    text-align: center;
    border-top: 1px solid #b1a281;
  }
  #sightseeing .accessBox02 th span {
    color: #b1a281;
    margin-right: 5px;
    font-size: 20px;
  }
  #sightseeing .accessBox03 {
    width: 20%;
    height: 280px;
    padding: 10px;
    border-left: 1px solid #b1a281;
    border-right: 1px solid #b1a281;
    border-bottom: 1px solid #b1a281;
    float: left;
  }
  #sightseeing .accessBox03 th {
    font-weight: bold;
    color: #b1a281;
    text-align: center;
    border-top: 1px solid #b1a281;
  }
  #sightseeing .accessBox03 th span {
    color: #b1a281;
    margin-right: 5px;
    font-size: 20px;
  }
  #sightseeing .accessTbl {
    width: 1200px;
    margin: auto;
    border: 1px solid #b1a281;
    border-collapse: collapse;
    font-size: 13px;
  }
  #sightseeing .accessTbl tr {
    border: 1px solid #b1a281;
    border-collapse: collapse;
  }
  #sightseeing .accessTbl tr td {
    border: 1px solid #b1a281;
    border-collapse: collapse;
    width: 20%;
    padding: 10px 0 10px 10px;
    box-sizing: border-box;
    text-align: center;
    vertical-align: top;
  }
  #sightseeing .accessTbl tr td div {
    margin-bottom: 10px;
  }
  #sightseeing .accessTbl tr td div:last-of-type {
    margin-bottom: 0;
  }
  #sightseeing .accessTbl tr td div h3 {
    color: #b1a281;
    padding: 15px 0;
  }
  #sightseeing .accessTbl tr td div h3 span {
    margin-right: 5px;
    font-size: 20px;
    padding: 10px 0;
  }
  #sightseeing .accessTbl tr td div dl {
    margin: 0 0 10px 0;
    text-align: left;
  }
  #sightseeing .accessTbl tr td div dl dt {
    width: 100%;
    font-weight: bold;
    padding: 5px 0 10px 0;
  }
  #sightseeing .accessTbl tr td div dl dd {
    width: 100%;
    margin: 0 0 15px 0;
    font-size: 13px;
    line-height: 1.7em;
  }
  #sightseeing .accessTbl tr td div p span {
    margin: 0 5px;
    font-size: 20px;
    font-weight: bold;
    color: #b1a281;
  }
  #sightseeing .nopc {
    display: none !important;
  }
}
@media only screen and (max-width: 768px) {
  #sightseeing {
    /* 地図 */
  }
  #sightseeing .map {
    margin: 20px auto 50px;
  }
  #sightseeing .map iframe {
    height: 480px;
  }
  #sightseeing {
    /* スライダー */
  }
  #sightseeing .slide_spot {
    padding: 30px 0;
  }
  #sightseeing .slide_spot li {
    margin-left: 0;
    margin-right: 0;
  }
  #sightseeing .slide_spot li .img img {
    width: 100%;
  }
  #sightseeing .slide_spot li .img {
    width: 93%;
    margin: 0 auto;
  }
  #sightseeing .slide_spot .slick-prev {
    left: 2px;
  }
  #sightseeing .slide_spot .slick-next {
    right: 2px;
  }
  #sightseeing {
    /*  spot  */
  }
  #sightseeing #spot .spot {
    width: 93%;
    margin: 40px auto 60px;
  }
  #sightseeing .spot-h2 h2 {
    font-size: 20px;
  }
  #sightseeing .button-02 {
    font-size: 16px;
    color: #fff !important;
  }
  #sightseeing .button-02::after {
    width: 2vw;
    height: 2vw;
    right: 5%;
  }
  #sightseeing #spot hgroup {
    padding: 3em 1em;
  }
  #sightseeing #spot hgroup .txt strong {
    text-align: center;
  }
  #sightseeing {
    /* 京都 */
  }
  #sightseeing #spot hgroup {
    padding: 3em 1em;
  }
  #sightseeing #spot hgroup h1 {
    font-size: 26px;
    margin-bottom: 1em;
  }
  #sightseeing #spot hgroup .txt strong {
    font-size: 22px;
    display: block;
    margin-bottom: 0.7em;
  }
  #sightseeing #spot hgroup .txt {
    font-size: 14px;
    width: 100%;
  }
  #sightseeing .spot-pick ul {
    font-size: 0;
  }
  #sightseeing .spot-pick ul li {
    width: 32%;
    max-width: initial;
    display: inline-block;
    vertical-align: top;
    margin-right: 2%;
  }
  #sightseeing .spot-pick ul li:nth-last-of-type(1) {
    margin-right: 0;
  }
  #sightseeing .spot-pick ul li .img {
    width: 100%;
    text-align: center;
  }
  #sightseeing .spot-pick ul li .img img {
    width: 100%;
  }
  #sightseeing .spot-pick ul li h3 {
    font-size: 16px;
    margin: 10px auto;
    letter-spacing: -1px;
  }
  #sightseeing .spot-pick ul li .txt {
    display: none;
  }
  #sightseeing .spot article {
    margin-top: -60px !important;
    padding: 80px 0 20px !important;
    font-size: 12px;
    gap: 10px;
    justify-content: center;
  }
  #sightseeing .spot article .text_area {
    width: 100%;
    order: 2;
  }
  #sightseeing .spot article .text_area h2 {
    display: none;
  }
  #sightseeing .spot article .text_area .route {
    margin-top: 10px;
  }
  #sightseeing .spot article .img_area {
    width: 100%;
    order: 1;
  }
  #sightseeing .spot article:nth-of-type(2n + 1) .img_area {
    order: 1;
  }
  #sightseeing .spot article:nth-of-type(2n + 1) .text_area {
    order: 2;
  }
  #sightseeing .spot article.is-odd .img_area {
    order: 1;
  }
  #sightseeing .spot article.is-odd .text_area {
    order: 2;
  }
  #sightseeing .spot article h2 {
    color: #a38b4c;
    font-family: YuMincho, "Yu Mincho", serif;
  }
  #sightseeing .spot article .img_area h2 {
    display: block;
    font-size: 20px;
    margin-bottom: 10px;
    line-height: 1.2;
  }
}

#model-course #main {
  /* ① フォント基準（SP→PCで可変） */
  font-size: clamp(14px, 14px + 2 * (100vw - 375px) / 615, 16px);
  /* ② 基本行間 */
  line-height: 1.6;
}

#model-course.osaka .top_contents {
  background-color: #6f0a09;
}
#model-course.osaka .article-header::after {
  background-color: rgba(68, 27, 27, 0.7);
}
#model-course.osaka nav label {
  background-color: #765151;
}
#model-course.osaka #course h4 {
  color: #700909;
}
#model-course.osaka #course h4::after {
  background-color: #700909;
}
#model-course.osaka #course section h5 {
  color: #700909;
}
#model-course.osaka #course section h5::after {
  background-color: #700909;
}
#model-course.kyoto .top_contents {
  background-color: #3c4a02;
}
#model-course.kyoto .article-header::after {
  background-color: rgba(57, 68, 27, 0.7);
}
#model-course.kyoto nav label {
  background-color: #656a4f;
}
#model-course.kyoto #course h4 {
  color: #656a4f;
}
#model-course.kyoto #course h4::after {
  background-color: #656a4f;
}
#model-course.kyoto #course section h5 {
  color: #656a4f;
}
#model-course.kyoto #course section h5::after {
  background-color: #656a4f;
}
#model-course #main #breadCrumbin a {
  color: #a38b4c;
}
#model-course #main p {
  line-height: 1.8;
  margin-top: 1em;
}
#model-course #main p:first-of-type {
  margin-top: 0;
}
#model-course #main .article-header {
  position: relative;
}
#model-course #main .article-header hgroup {
  display: block;
  position: absolute;
  width: 96%;
  max-width: 990px;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9;
}
@media only screen and (max-width: 768px) {
  #model-course #main .article-header hgroup {
    position: relative;
    top: 0;
    transform: translateY(0);
    padding: 30px 10px;
  }
}
#model-course #main .article-header hgroup h3 {
  color: #fff;
  line-height: 1.8;
  font-weight: normal;
  margin-bottom: 1em;
  font-size: clamp(1.8rem, 1.8rem + (8) * (100vw - 375px) / (615), 2.6rem);
}
@media only screen and (max-width: 768px) {
  #model-course #main .article-header hgroup .hgroup_tag {
    display: flex;
    flex-flow: row wrap;
    gap: 0.5em 0;
  }
}
#model-course #main .article-header hgroup .hgroup_tag li {
  display: inline-block;
  color: #fff;
  padding: 0.5em 1em;
  font-size: 16px;
  background-color: #000;
  margin-right: 0.5em;
}
#model-course #main .article-header::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#model-course #main .article-header .hgroup_background {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 768px) {
  #model-course #main .article-header .hgroup_background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: -1;
  }
}
#model-course #main .inner {
  width: 96%;
  max-width: 990px;
  margin: 0 auto;
}
#model-course #main #lead {
  background-color: #f4f4f4;
}
#model-course #main #lead .inner {
  padding-top: clamp(6rem, 6rem + (20) * (100vw - 375px) / (615), 8rem);
  padding-bottom: clamp(6rem, 6rem + (20) * (100vw - 375px) / (615), 8rem);
}
#model-course #main #lead dl {
  margin-top: 80px;
  margin-top: clamp(6rem, 6rem + (20) * (100vw - 375px) / (615), 8rem);
}
#model-course #main #lead dl dt {
  font-size: clamp(1.8rem, 1.8rem + (4) * (100vw - 375px) / (615), 2.2rem);
  margin-bottom: 2em;
  padding-left: 2.5em;
  text-indent: -2.5em;
}
#model-course #main #lead dl dt::before {
  content: "";
  display: inline-block;
  width: 2em;
  height: 4px;
  border-radius: 4px;
  background-color: #000;
  vertical-align: middle;
  margin-right: 0.5em;
}
#model-course #main #lead dl dd {
  padding-left: 55px;
}
#model-course #main #lead dl dd a {
  display: inline-block;
  margin-right: 1em;
  text-decoration: underline;
}
#model-course #main #lead .map-block {
  margin-top: 80px;
  margin-top: clamp(6rem, 6rem + (20) * (100vw - 375px) / (615), 8rem);
}
#model-course #main #lead .map-block iframe {
  height: 580px;
}
#model-course #main #course {
  background-color: #fff;
}
#model-course #main #course input {
  display: none;
}
#model-course #main #course nav.tab {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  width: 96%;
  max-width: 990px;
  margin: 0 auto;
  gap: 15px;
}
#model-course #main #course nav.tab label {
  display: block;
  cursor: pointer;
  text-align: center;
  color: #fff;
  font-size: clamp(1.8rem, 1.8rem + (8) * (100vw - 375px) / (615), 2.6rem);
  padding: 1em 0.5em;
  width: 100%;
  width: calc((100% - 30px) / 3);
  transition: 0.3s;
}
#model-course #main #course nav.tab label:hover {
  opacity: 0.7;
}
#model-course #main #course nav.tab.tab-top {
  position: relative;
  z-index: 0;
}
#model-course #main #course nav.tab.tab-top::after {
  position: absolute;
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #f4f4f4;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
#model-course #main #course nav.tab.tab-bottom {
  margin-bottom: 100px;
}
#model-course #main #course #day1:checked ~ .tab-top label[for=day1],
#model-course #main #course #day2:checked ~ .tab-top label[for=day2],
#model-course #main #course #day3:checked ~ .tab-top label[for=day3] {
  background-color: #fff;
  box-shadow: 0 -8px 8px rgba(0, 0, 0, 0.1);
  color: #9e8b63;
}
#model-course #main #course #day1:checked ~ .tab-bottom label[for=day1],
#model-course #main #course #day2:checked ~ .tab-bottom label[for=day2],
#model-course #main #course #day3:checked ~ .tab-bottom label[for=day3] {
  background-color: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  color: #9e8b63;
}
#model-course #main #course article {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease 0.1s;
  padding-top: clamp(6rem, 6rem + (20) * (100vw - 375px) / (615), 8rem);
  padding-bottom: clamp(6rem, 6rem + (20) * (100vw - 375px) / (615), 8rem);
}
#model-course #main #course article .inner {
  position: relative;
}
#model-course #main #course article .inner::before {
  content: "";
  display: block;
  width: 3px;
  height: 100%;
  background-color: #000;
  position: absolute;
  left: 3.8rem;
  top: 0;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  #model-course #main #course article .inner::before {
    left: calc(2.4rem - 1px);
    height: calc(100% - 40px);
  }
}
#model-course #main #course #day1:checked ~ #course_day1,
#model-course #main #course #day2:checked ~ #course_day2,
#model-course #main #course #day3:checked ~ #course_day3 {
  opacity: 1;
  visibility: visible;
  position: relative;
}
#model-course #main #course h4 {
  position: relative;
  font-size: clamp(1.8rem, 1.8rem + (18) * (100vw - 375px) / (615), 3.6rem);
  padding: 0.25em 0.5em;
  font-weight: normal;
  background-color: #fff;
}
#model-course #main #course h4 span {
  display: inline-block;
  margin-right: 0.5em;
}
#model-course #main #course h4 span::first-letter {
  font-size: 1.5em;
}
#model-course #main #course h4::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background-color: #000;
  border-radius: 4px;
}
#model-course #main #course .train {
  position: relative;
  display: block;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-start;
  background-color: #f4f4f4;
  border-radius: 100px;
  width: 100%;
  text-align: center;
  font-size: clamp(1.2rem, 1.2rem + (6) * (100vw - 375px) / (615), 1.8rem);
  line-height: 8rem;
}
#model-course #main #course .train::before {
  content: "";
  display: block;
  background-image: url("/assets/img/common/icon_train.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 8rem;
  height: 8rem;
  min-width: 8rem;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  #model-course #main #course .train::before {
    width: 4.8rem;
    height: 4.8rem;
    min-width: 4.8rem;
  }
}
#model-course #main #course .train p {
  margin-left: auto;
  margin-right: auto;
  line-height: 1.2;
}
#model-course #main #course .spot {
  padding-top: clamp(6rem, 6rem + (20) * (100vw - 375px) / (615), 8rem);
  padding-bottom: clamp(2rem, 2rem + (20) * (100vw - 375px) / (615), 4rem);
}
#model-course #main #course .spot hgroup {
  position: relative;
  font-size: 36px;
  font-size: clamp(1.8rem, 1.8rem + (18) * (100vw - 375px) / (615), 3.6rem);
}
#model-course #main #course .spot hgroup.illust::after {
  content: "";
  position: absolute;
  bottom: 0.5em;
  right: 0;
  width: min(16.5vw, 146px);
  aspect-ratio: 146/140;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
#model-course #main #course .spot hgroup.illust_family::after {
  background-image: url("/assets/img/common/illust_family.png");
}
#model-course #main #course .spot hgroup.illust_couple::after {
  background-image: url("/assets/img/common/illust_couple.png");
}
#model-course #main #course .spot hgroup.illust_woman::after {
  background-image: url("/assets/img/common/illust_woman.png");
}
#model-course #main #course .spot hgroup.illust_woman2::after {
  background-image: url("/assets/img/common/illust_woman2.png");
}
#model-course #main #course .spot h5 {
  position: relative;
  display: flex;
  align-items: center;
  font-weight: normal;
  padding: 0.5em 0;
  line-height: 1.2;
  padding-right: min(16.5vw, 146px);
}
#model-course #main #course .spot h5 .time {
  margin: 0 0.5em 0 1em;
  font-size: clamp(1.6rem, 1.6rem + (10) * (100vw - 375px) / (615), 2.6rem);
}
#model-course #main #course .spot h5::before {
  content: "";
  display: block;
  background-image: url("/assets/img/common/icon_spot.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 8rem;
  height: 8rem;
  min-width: 8rem;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  #model-course #main #course .spot h5::before {
    width: 4.8rem;
    height: 4.8rem;
    min-width: 4.8rem;
  }
}
#model-course #main #course .spot h5::after {
  position: absolute;
  bottom: 0.5em;
  right: 0;
  content: "";
  display: block;
  width: calc(100% - 4rem);
  height: 4px;
  border-radius: 4px;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  #model-course #main #course .spot h5::after {
    width: calc(100% - 2.4rem);
  }
}
#model-course #main #course .spot .spot_inner {
  max-width: 800px;
  margin: 0 auto;
  padding-top: clamp(2rem, 2rem + (18) * (100vw - 375px) / (615), 3.8rem);
  padding-left: clamp(2.4rem, 2.4rem + (14) * (100vw - 375px) / (615), 3.8rem);
  padding-left: 3.8rem;
  display: flex;
  flex-flow: column nowrap;
  gap: 3.8rem;
}
#model-course #main #course .spot .spot_inner figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 4/3;
}
#model-course #main #course .spot .spot_inner {
  /* メイン画像フェード用 */
}
#model-course #main #course .spot .spot_inner .images_area figure img {
  transition: opacity 0.3s ease;
  display: block;
}
#model-course #main #course .spot .spot_inner {
  /* サムネイル */
}
#model-course #main #course .spot .spot_inner .images_select_area {
  display: flex;
  flex-flow: row nowrap;
  gap: 1rem;
  margin-top: 1rem;
}
#model-course #main #course .spot .spot_inner .images_select_area li {
  width: calc((100% - 2rem) / 3);
  aspect-ratio: 3/2;
}
#model-course #main #course .spot .spot_inner .images_select_area li img {
  cursor: pointer;
  transition: opacity 0.3s ease;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#model-course #main #course .spot .spot_inner .images_select_area li img.is-active {
  opacity: 0.5;
}
#model-course #main #course .foot {
  text-align: center;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: clamp(3rem, 3rem + (10) * (100vw - 375px) / (615), 4rem);
  margin-bottom: clamp(3rem, 3rem + (10) * (100vw - 375px) / (615), 4rem);
}
#model-course #main #course .foot::before {
  display: block;
  content: "";
  width: 28px;
  height: 100px;
  background-image: url("/assets/img/common/icon_arrow.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#model-course #main #course .for-next-day {
  position: relative;
  display: block;
  cursor: pointer;
  background-color: #f4f4f4;
  border-radius: 100px;
  width: 100%;
  z-index: 2;
  text-align: center;
  font-size: clamp(1.2rem, 1.2rem + (6) * (100vw - 375px) / (615), 1.8rem);
  line-height: 8rem;
}
@media only screen and (max-width: 768px) {
  #model-course #main #course .for-next-day {
    line-height: 6rem;
  }
}
#model-course #main #course .for-next-day::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3.6rem;
  margin: auto;
  transform: rotate(45deg);
}
@media only screen and (max-width: 768px) {
  #model-course #main #course .for-next-day::before {
    width: 1.2rem;
    height: 1.2rem;
    right: 2.6rem;
  }
}
#model-course #main #course .for-next-day::after {
  position: absolute;
  top: 1.3rem;
  right: 1.3rem;
  content: "";
  width: 5.4rem;
  height: 5.4rem;
  display: inline-block;
  text-align: center;
  line-height: 5.4rem;
  border: solid 1px #000;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  #model-course #main #course .for-next-day::after {
    width: 3.2rem;
    height: 3.2rem;
  }
}
#model-course #main #course #afterword {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border-radius: 0.3rem;
  padding: 4rem;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.3);
  margin: 4rem 1rem 0;
  text-align: center;
}
#model-course #main #course #afterword h5 {
  margin-bottom: 1em;
  font-size: clamp(1.6rem, 1.6rem + (12) * (100vw - 375px) / (615), 2.8rem);
}
#model-course #main #course #afterword div {
  display: inline-block;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  #model-course #main .btn-wrap {
    margin-bottom: 90px;
  }
}

#gallery .gallery #grid {
  margin: 100px auto;
  max-width: 1200px;
  font-size: 0;
}

#gallery .gallery #grid li {
  display: inline-block;
  width: 25%;
  /* margin:6px; */
  padding: 1% 0.5%;
  box-sizing: border-box;
}

#gallery .gallery #grid li img {
  width: 100%;
}

@media only screen and (max-width: 768px) {
  #gallery {
    width: 100%;
    padding: 40px 0;
  }
  #gallery .gallery {
    width: 93%;
    margin: 0 auto;
  }
  #gallery .gallery #grid {
    margin: 0 auto;
    max-width: 100%;
  }
  #gallery .gallery #grid li {
    width: 33.3333333333%;
  }
  #gallery .gallery #grid li img {
    width: 100%;
    height: 100%;
  }
}
#special {
  /* タイトル */
}
#special .gw-h2 {
  font-size: 37px;
  text-align: center;
  margin: 100px auto 12px;
  color: transparent;
  background-color: #bb9945;
  -webkit-background-clip: text;
  font-weight: bold;
}
#special .expo-h2 {
  color: #e30012;
  padding: 40px 0 0;
  letter-spacing: 2.5px;
}
#special {
  /* 宿泊プラン */
}
#special .fair_list img {
  max-width: 100%;
  height: auto;
}
#special .fair_list {
  display: flex;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto 1%;
  flex-flow: wrap;
  line-height: 1.5;
}
#special .fair_list p {
  font-size: 15px;
}
#special .fair_list li,
#special .otherPlanBtn {
  width: 30%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  background: #fff;
  margin-bottom: 30px;
  position: relative;
  margin: 20px;
  transition: 0.3s;
}
#special .fair_list li a:hover {
  text-decoration: none;
}
#special .fair_list .plan_img {
  position: relative;
}
#special .fair_list h4,
#special .card__heading,
#special .expo_right .card__heading {
  font-size: 20px;
  font-weight: bold;
  padding: 10px;
  background: #bb9945;
  color: #fff;
}
#special {
  /* 大阪万博宿泊プラン */
}
#special .expo_right .card__heading {
  height: 50px;
  vertical-align: middle;
}
#special .fair_list .text_box,
#special .expo_right .text_box {
  padding: 10px;
}
#special .fair_list .text_box .food,
#special .fair_list .text_box .kikan,
#special .expo_right .text_box .food,
#special .expo_right .text_box .kikan {
  display: inline-block;
  background: #fff;
  color: #bb9945;
  border: 1px solid #bb9945;
  margin: 21px 8px 6px 0;
  padding: 0 16px;
  font-size: 1.1rem;
  line-height: 24px;
  border-radius: 12px;
  font-weight: bold;
}
#special .fair_list p.ffs {
  font-size: 24px;
  margin-top: -5px;
}
#special .fair_list_2 img {
  max-width: 100%;
  height: auto;
}
#special {
  /* 下部ページ */
}
#special .link_box_sale {
  text-align: center;
  background: rgba(151, 221, 255, 0.2509803922);
  padding: 50px 0;
  max-width: 1000px;
  margin: 0 auto 80px;
  border-radius: 10px;
}
#special .link_box_sale a {
  display: block;
  max-width: 500px;
  width: 100%;
  border: 2px solid #03a0e8;
  padding: 15px 30px 15px 20px;
  margin: 20px auto;
  font-size: 16px;
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
  position: relative;
  transition: 0.3s;
  line-height: 150%;
}
#special .link_box_sale a:hover {
  background: #03a0e8;
  color: #fff;
  text-decoration: none;
}
#special .link_box_sale a::after {
  content: "";
  background: url(../img/tab_ico.png) no-repeat center/cover;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 32px;
}
#special .link_box_sale a:hover::after {
  background: url(../img/tab_ico_hover.png) no-repeat center/cover;
}
#special .link_box_sale a span {
  color: #03a0e8;
  font-weight: bold;
}
#special .link_box_sale a:hover span {
  color: #95deff;
}
#special .member_area {
  font-size: 20px;
  font-weight: bold;
  width: 900px;
  margin: auto;
  text-align: center;
  margin-bottom: 3%;
  line-height: 32px;
}
#special img {
  max-width: 100%;
}
#special .text-container {
  margin-top: 20px;
}
#special .logo {
  margin-top: 10px;
}
#special .link_box_flex {
  display: flex;
  margin: 35px auto 5px auto;
  justify-content: center;
  gap: 3%;
}
#special .text-container {
  margin-top: 20px;
}
#special .pc-none {
  display: none;
}
#special .sp-none {
  display: block;
}
#special .none {
  display: none;
}
#special .les2 {
  letter-spacing: -2px;
}
#special .fair_list p.card__text span {
  display: block;
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 7px;
  color: #937325;
}
#special .fair_list li:nth-child(2) h4 span {
  letter-spacing: 0;
}
#special .gw_txt {
  margin: 0 auto 60px;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  line-height: 1.8;
  padding: 15px 0;
  max-width: 900px;
  width: 100%;
  border-top: 2px solid #ebb633;
  border-bottom: 2px solid #ebb633;
}
#special .gw_txt span {
  color: #d52828;
  font-size: 30px;
}
#special {
  /* リード文 */
}
#special #lodging h2 {
  font-size: 32px;
  text-align: center;
  color: #a38b4c;
  margin: 40px auto;
}
#special .member_area {
  font-size: 18px;
  font-weight: bold;
  width: 900px;
  margin: auto;
  text-align: center;
  line-height: 1.7em;
}
#special .member_area p span {
  font-size: 28px;
  line-height: 1.5em;
  font-weight: bold;
  color: #9b6e00;
  /* background: repeating-linear-gradient(13deg, #B67B03 0.1em, #DAAF08 0.2em, #d0c18a 0.3em, #DAAF08 0.4em, #B67B03 0.5em); */
  /* -webkit-background-clip: text; */
  position: relative;
}
#special .member_area p span:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background-image: linear-gradient(135deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
}
#special .expo_list li {
  width: 45%;
}
#special .expo_card {
  background-color: #1571b6 !important;
}
#special .expo_subTitle {
  color: #e30012;
  font-weight: bold;
}
#special .expo_food,
#special .expo_kikan {
  display: inline-block;
  background: #fff;
  color: #1571b6;
  border: 1px solid #1571b6;
  margin: 21px 8px 6px 0;
  padding: 0 16px;
  font-size: 1.1rem !important;
  line-height: 24px;
  border-radius: 12px;
  font-weight: bold;
}
#special .lp_mv {
  text-align: center;
}
#special .osaka_expo_width {
  width: 100%;
}
#special .osaka_expo_width .expo-h2 span {
  color: #333132;
  font-size: 28px;
}
#special .bgTtl_expo {
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("../../img/event/bg_osaka_expo_red.png") no-repeat center center/100% auto;
  max-width: 775px;
  height: 171px;
  margin: 70px auto 13px;
  color: #e30012;
  font-size: 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  text-align: center;
}
#special .kdwrBox {
  border: 5px solid;
  /* 枠の太さを指定 */
  -o-border-image: repeating-linear-gradient(45deg, #e30012, #e30012 10px, white 10px, white 15px) 10;
     border-image: repeating-linear-gradient(45deg, #e30012, #e30012 10px, white 10px, white 15px) 10;
}
#special .kdwrBox img {
  width: 100%;
  height: auto;
}
#special .kdwrBox dl {
  padding: 20px 15px;
  line-height: 1.4;
}
#special .kdwrBox dt {
  font-size: 25px;
  margin-bottom: 13px;
  line-height: 1.4;
  font-weight: bold;
}
#special .kdwrBox dd {
  font-size: 15px;
}
#special #grKdwr01 {
  max-width: 1248px;
  margin: 0 auto 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: 0.3s;
}
#special #grKdwr01:hover {
  transform: scale(0.95);
}
#special #grKdwr01 img {
  width: 500px;
  float: left;
  padding: 0 15px;
}
#special #grKdwr01 dl {
  padding: 35px 25px;
  letter-spacing: 2px;
}
#special .kdwrBox dd span {
  color: #1571c6;
  font-weight: bold;
  font-size: 16px;
}
#special .gw-h2 {
  font-size: 37px;
  text-align: center;
  margin: 100px auto 25px;
  background-color: #bb9945;
  -webkit-background-clip: text;
  font-weight: bold;
}
#special #grKdwr01 img {
  width: 450px;
  float: left;
  padding: 0 15px;
}
#special #grKdwr01 {
  max-width: 1100px;
  margin: 0 auto 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px;
}
#special .member_signup {
  color: #a38b4c !important;
  font-size: 23px !important;
  border: 1px solid #897540;
  padding: 10px;
}
#special .fair_list p.spring_subTitle {
  color: #a38b4c;
}
#special .fair_list li:hover {
  text-decoration: none;
  transform: scale(0.95);
}
#special .otherPlan {
  padding: 50px 0;
  max-width: 1000px;
  margin: 0 auto 80px;
  text-align: center;
}
#special .otherPlanBtn {
  border: 1px solid #bb9945;
  padding: 30px;
  color: #fff !important;
  font-size: 18px;
  font-weight: bold;
  background-color: #bb9945;
}
#special .otherPlanBtn:hover {
  background-color: rgba(187, 153, 69, 0.6666666667);
}
#special .nosp {
  display: flex;
}
#special {
  /* .nosp {
    display: none;
  } */
  /* 20250328 追加 */
}
#special .tour_h2 {
  color: #085e8c;
}
#special .tour_list h4 {
  background: #4991b7;
  color: #fff;
}
#special .tourBtn {
  border: 1px solid #4991b7;
  background-color: #4991b7;
}
#special .tourBtn:hover {
  background-color: rgba(73, 145, 183, 0.6666666667);
}
#special .osaka_expo {
  max-width: 1000px;
  margin: 0 auto;
  background-color: #f3f3f3;
  padding: 45px 100px;
}
#special .osaka_img {
  display: block;
  margin: 0 auto;
}
#special .osaka_title {
  font-size: 22px;
  text-align: center;
}
#special .osaka_bold {
  font-weight: bold;
  font-size: 18px;
}
#special .osaka_expo p {
  line-height: 2;
}
#special #spot {
  width: 100%;
  margin: 0 auto;
  padding: 80px 0;
}
#special #spot ul {
  width: 100%;
  max-width: 890px;
  margin: 0 auto;
  font-size: 0;
  display: flex;
}
#special #spot ul li {
  width: 33.3333333333%;
  max-width: 250px;
  display: inline-block;
  vertical-align: top;
  margin-right: 66px;
}
#special #spot ul li .img {
  text-align: center;
}
#special #spot ul li h3 {
  font-size: 18px;
  color: #a38b4c;
  text-align: center;
  margin: 15px auto;
  letter-spacing: -1px;
}
#special #spot ul li .txt {
  font-size: 15px;
  font-weight: 500;
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.5;
}
#special #spot ul li:nth-last-of-type(1) {
  margin-right: 0;
}

@media only screen and (max-width: 768px) {
  #special .head01 {
    font-size: 24px;
  }
  #special #spot {
    padding: 50px 0 20px;
  }
  #special #spot .spot {
    width: 93%;
    margin: 0 auto;
  }
  #special #spot ul {
    font-size: 0;
  }
  #special #spot ul li {
    width: 32%;
    max-width: initial;
    display: inline-block;
    vertical-align: top;
    margin-right: 2%;
  }
  #special #spot ul li h3 {
    font-size: 16px;
    margin: 10px auto;
    letter-spacing: -1px;
  }
  #special .btn_clear a {
    width: 80%;
    padding: 10px;
    font-size: 14px;
    margin: 10px auto 0;
  }
}
/*デバイスの横幅が750px以下の場合*/
@media only screen and (max-width: 768px) {
  #special .faq {
    width: 93%;
    margin: 40px auto 0;
  }
  #special {
    /* faqtop */
  }
  #special .faqtop {
    width: 100%;
  }
  #special .faqtop ul li {
    width: 100%;
    display: inline-block;
    box-sizing: border-box;
    border-right: 0;
    border-bottom: 2px solid #fff;
    padding: 3%;
  }
  #special .faqtop ul li a {
    display: block;
    text-align: center;
    font-size: 14px;
    padding: 10px 30px;
  }
  #special {
    /* faqtop */
  }
  #special #lodging h2,
  #special #room h2,
  #special #guest h2 {
    font-size: 20px;
    font-size: 24px;
    margin: 20px auto 20px;
  }
  #special .acMenu {
    margin: 0 auto 40px;
  }
  #special .acMenu dt {
    font-size: 14px;
    padding: 10px 0 10px 30px;
  }
  #special .acMenu dt.active:after {
    font-family: FontAwesome;
    content: "\f106";
    position: absolute;
    font-size: 16px;
    margin-top: -8px;
    top: 50%;
  }
  #special .acMenu dt:after {
    font-family: FontAwesome;
    content: "\f107";
    position: absolute;
    font-size: 16px;
    margin-top: -8px;
    top: 50%;
  }
  #special .acMenu dt:before {
    font-size: 26px;
  }
  #special .acMenu dd {
    padding: 0 0 10px 30px;
    line-height: 1.4;
    font-size: 12px;
  }
  #special .acMenu dd a {
    padding-left: 15px;
  }
  #special .acMenu dd a:before {
    background-size: contain;
    width: 10px;
    height: 12px;
    top: 3px;
  }
  #special .acMenu dd:before {
    font-size: 20px;
    left: 3px;
    top: -5px;
  }
  #special #lodging .acMenu dd:nth-of-type(5) {
    padding-bottom: 50px;
  }
  #special #lodging .acMenu dd:nth-of-type(5):after {
    content: "";
    background: url(../img/dog.png) no-repeat;
    background-size: contain;
    width: 35px;
    height: 38px;
    position: absolute;
    bottom: 15px;
    right: 10px;
    top: initial;
  }
  #special {
    /* 230425_SUMMERSALE */
  }
  #special .fair_list li {
    width: 48%;
  }
  #special .text_area {
    margin-bottom: 28px;
    padding: 5%;
  }
  #special .member_area a {
    width: 85%;
  }
  #special .member_area p {
    line-height: 1.6em;
    font-size: 17px;
  }
  #special .member_area {
    width: 100%;
  }
  #special .close_text {
    top: 50%;
  }
  #special .fair_list .plan_img .label {
    font-size: 13px;
  }
  #special {
    /* 以下は春旅・GW用に追加 */
  }
  #special .nopc {
    display: block;
  }
  #special .expo_flex {
    display: block;
    height: auto;
    padding: 15px;
  }
  #special .expo_right {
    width: 100%;
  }
  #special .fair_list li {
    width: 80%;
  }
  #special .gw-h2 {
    font-size: 25px;
    margin-bottom: 10px;
  }
  #special .expo-h2 {
    margin-top: 10px;
  }
  #special .link_box_sale {
    padding: 8% 5%;
  }
  #special .link_box_sale strong {
    font-size: 5vw;
    line-height: 130%;
  }
  #special .link_box_sale strong::before {
    width: 50px;
    top: 8vw;
    left: -27vw;
  }
  #special .link_box_sale strong::after {
    width: 50px;
    top: 8vw;
    right: -15vw;
  }
  #special .link_box_sale a {
    padding: 4% 12% 4% 3%;
    font-size: 18px;
  }
  #special .link_box_sale a::after {
    width: 4vw;
    height: 4vw;
    right: 6%;
  }
  #special h2.link_box_title {
    position: relative;
    color: #006492;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 13px;
    line-height: 27px;
  }
  #special .text-container {
    margin-top: 8px;
  }
  #special .link_box_flex,
  #special .link_box_flex {
    display: block;
  }
  #special #grKdwr01 {
    display: block;
    margin: 0 37px;
  }
  #special .kdwrBox dt {
    font-size: 18px;
  }
  #special #grKdwr01 dl {
    padding: 25px 14px;
  }
  #special .member_signup {
    font-size: 18px !important;
  }
  #special .otherPlan {
    margin: 0 auto 50px;
    padding: 33px 0;
  }
  #special .nosp {
    display: none;
  }
  #special {
    /* 250328追加 */
  }
  #special .osaka_expo {
    padding: 20px;
  }
  #special .osaka_title {
    line-height: 1.4;
    text-align: center;
    font-size: 20px;
  }
  #special .osaka_img {
    display: block;
    margin: 0 auto 4%;
  }
  #special .member_area p span:before {
    position: absolute;
    top: 36px;
    left: 0;
    width: 100%;
    height: 2px;
    content: "";
    background-image: linear-gradient(135deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
  }
  #special #header .headerleft .logo.ad_name img.nopc {
    display: inline-block;
  }
  #special .otherPlanBtn {
    display: block;
    width: 90%;
    box-sizing: border-box;
    margin: 0 auto;
  }
}
.sitemap .fltbox {
  width: 700px;
  margin: 80px auto 120px;
}

.sitemap .fltbox .boxL,
.sitemap .fltbox .boxR {
  width: 48%;
}

.sitemap li {
  box-sizing: border-box;
  padding-left: 30px;
  border-top: 1px solid #bebebe;
  position: relative;
}

.sitemap li:before {
  font-family: FontAwesome;
  content: "\f105";
  position: absolute;
  color: #9f864c;
  top: 50%;
  margin-top: -8.5px;
  left: 10px;
}

.sitemap li ul li {
  border-bottom: 0 !important;
}

.sitemap li ul li a {
  font-size: 14px;
}

.sitemap .boxL ul:nth-of-type(1) li:nth-of-type(4):before {
  top: 25%;
}

.sitemap li:nth-last-of-type(1) {
  border-bottom: 1px solid #bebebe;
}

.sitemap a {
  width: 100%;
  display: block;
  font-size: 17px;
  padding: 15px 0;
  letter-spacing: 2px;
}

@media only screen and (max-width: 768px) {
  .sitemap .fltbox {
    width: 93%;
    margin: 40px auto;
  }
  .sitemap .fltbox .boxL,
  .sitemap .fltbox .boxR {
    width: 100%;
  }
  .sitemap li {
    padding-left: 20px;
  }
  .sitemap li:before {
    font-size: 13px;
    margin-top: -6px;
  }
  .sitemap li ul li a {
    font-size: 10px;
  }
  .sitemap li:nth-last-of-type(1) {
    border-bottom: 1px solid #bebebe;
  }
  .sitemap .boxL li:nth-last-of-type(1) {
    border-bottom: 0;
  }
  .sitemap a {
    font-size: 12px;
    padding: 10px 0;
  }
}/*# sourceMappingURL=style.css.map */