@charset "UTF-8";
/*==========================================
 全体のスタイル
===========================================*/
@font-face {
  font-family: 'Lora';
  src: url('../fonts/Lora-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
}
@font-face {
  font-family: 'Hina Mincho';
  src: url('../fonts/HinaMincho-Regular.ttf') format('truetype');
  font-weight: 400;
}
@font-face {
    font-family: 'Libre Baskerville';
    src: url('../fonts/LibreBaskerville-Bold.woff2') format('woff2'),
         url('../fonts/LibreBaskerville-Bold.woff') format('woff'),
         url('../fonts/LibreBaskerville-Bold.ttf') format('truetype');
    font-weight: 700;
}

* {
  box-sizing: border-box;
}
body {
    color: #555555;
    margin: 0;
    width: auto;
    font-size: 16px;
    font-family: "HinaMincho-Regular", serif;
    font-optical-sizing: auto;
    font-style: normal;
    position: relative;
    line-height: 1.8;
}
.font90{
font-size: 90%;
}
.font80{
font-size: 80%;
}
/* -----pageTop----- */
#pageTop {
  position: fixed;
  bottom: 80px;
  right: 20px;
  z-index: 1000;
}
#pageTop a {
    color: #FFFFFF;
    background-color: #006888;
		
    padding: 0;
    margin: 0;
    width: 45px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    display: inline-block;
    border-radius: 50%;
    border: thin solid #FFFFFF;
}
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#pageTop a .fa.fa-chevron-up {
  font-size: 1.2em;
}
.font90 {
  font-size: 90%;
}
.font80 {
  font-size: 80%;
}
.font70 {
  font-size: 70%;
}
.marker.yellow {
  background: -moz-linear-gradient(top, rgba(255, 255, 0, 0) 60%, rgba(255, 255, 0, 0.4) 60%, rgba(255, 255, 0, 0.4) 100%);
  background: -webkit-linear-gradient(top, rgba(255, 255, 0, 0) 60%, rgba(255, 255, 0, 0.4) 60%, rgba(255, 255, 0, 0.4) 100%);
  background: linear-gradient(to bottom, rgba(255, 255, 0, 0) 60%, rgba(255, 255, 0, 0.4) 60%, rgba(255, 255, 0, 0.4) 100%);
}
/* 光るボーダーの設定 */
.glowing-border-gd {
  border: 1.5px solid #d6b25e; /* 落ち着いたシャンパンゴールド */
  padding: 20px;
  border-radius: 8px;
  box-shadow:
    0 0 6px rgba(214, 178, 94, 0.45),
    0 0 14px rgba(184, 148, 74, 0.35),
    0 0 26px rgba(140, 105, 45, 0.25);
  animation: glowGold 3s ease-in-out infinite alternate;
}
/*文字色*/
.red {
  color: #ff1900;
}
/* 画像の長押し/ドラッグ/選択を抑止 */
.no-save img {
  -webkit-touch-callout: none; /* iPhone長押しメニュー防止 */
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  user-drag: none;
  pointer-events: none; /* 画像自体を触れないようにする */
}

/* 親要素に透明の“フタ”をかぶせる */
.no-save {
  position: relative;   /* フタを子として絶対配置するため */
}
.no-save::after {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  /* このフタが長押しを“受ける”ので保存メニューが出にくくなる */
}

/*==========================================
 headerのスタイル
===========================================*/
/* -----ヘッダーふわっと固定（SPメニュー）----- */
.cb-header {
    position: fixed;
    z-index: 200;
    top: -70px;
    left: 0;
    width: 100%;
    background-position: right;
    background-color: hsla(210,67%,99%,0.86);
}
.cb-header ul li {
  width: 25%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  padding-top: 0px;
  position: relative;
}
.cb-header ul li {
    width: 25%;
    float: left;
    box-sizing: border-box;
    text-align: center;
    padding-top: 0px;
    position: relative;
    border-bottom: 1px solid #b7a78b;
    border-right: 1px solid #b7a78b;
   /* background-color: hsla(240,33%,99%,0.85);*/
}
.cb-header ul li:last-child {
    border-right: none;
		   background-color: #006888;
}
.cb-header ul li a {
  display: block;
  color: #555555;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 0px;
  padding-left: 0px;
  font-size: 95%;
}
.cb-header ul li:last-child  a {
  color: #f8f8f9;
}
.cb-header ul .language a .phone-number {
  display: none;
}
.cb-header h1 {
  display: none;
}
/*==========================================
 footerのスタイル
===========================================*/
footer {
  text-align: center;
  background-color: #0A0600;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.copy p small {
  color: #FFFFFF;
}
.copy p small a {
  color: #FFFFFF;
  margin-left: 5px;
}
/* -----下固定メニュー----- */
.menu {
  display: none;
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 999;
}
.menu.normal {
  position: relative;
  display: block;
  z-index: 0;
}
.menu.fixed p {
  margin-top: 5px;
  margin-bottom: 5px;
}
.menu.fixed p a.yoyaku {
  display: inline-block;
    background:  #006888;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-radius: 3px;
  margin-right: 5px;
  padding-right: 2em;
  padding-left: 2em;
  border-left: medium solid #FFFFFF;
  border-right: medium solid #FFFFFF;
  border-bottom: thick solid #FFFFFF;
  border-top: medium solid #FFFFFF;
}
.menu.fixed p a.line {
  display: inline-block;
  background-color: #03C755;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-right: 2em;
  padding-left: 2em;
  border-radius: 3px;
  margin-right: 5px;
  border-left: medium solid #FFFFFF;
  border-right: medium solid #FFFFFF;
  border-bottom: thick solid #FFFFFF;
  border-top: medium solid #FFFFFF;
}
.menu.fixed p a i {
  margin-right: 5px;
}
.menu.fixed p a span {
  display: none;
}
.menu.fixed p .line img {
  height: 32px;
}
.menu.fixed p .yoyaku img {
  height: 32px;
}
@media screen and (min-width:768px) {
  /*==========================================
 全体のスタイル
===========================================*/
}
@media screen and (min-width:1025px) {
  /*==========================================
 headerのスタイル
===========================================*/
  /* -----ヘッダーふわっと固定----- */
  .cb-header h1 {
    display: block;
    float: left;
    margin-left: 0.5em;
    margin-top: 0.2em;
    color: #555555;
  }
  .cb-header.cf .site-logo span {
    font-size: 60%;
    margin-left: 0.5em;
  }
  .cb-header.cf ul {
    float: right;
    width: auto;
  }
  .cb-header ul li {
    width: auto;
    float: left;
    text-align: center;
    padding: 10px;
	      border-bottom: none;
    border-right: none;

  }
  .cb-header ul li a {
    display: inline-block;
    color: #555555;
    padding-top: 10px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 10px;
  }
  .cb-header ul li a .hide {
    display: inline-block;
  }
  .cb-header ul .tel a .phone-number {
    display: inline-block;
    padding-left: 0.5em;
  }
  .cb-header.cf ul .language a {
    border-bottom-style: none;
  }
  .cb-header ul li::after {
    display: none;
  }
  .cb-header ul li::before {
    display: none;
  }
}
