@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: #c2285e;
    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-ye {
  border: 2px solid #ffdd33; /* ボーダーの色と太さ */
  padding: 20px; /* 内側の余白 */
  box-shadow: 
    0 0 1px #ffdd33, 
    0 0 2px #ffee55, 
    0 0 3px #ffff77, 
    0 0 15px #ffff99; /* #ffcc00を基調とした光る効果 */
}
.glowing-border-gr {
  border: 2px solid #00b0c2; /* ボーダーの色と太さ */
  padding: 20px; /* 内側の余白 */
  box-shadow: 
    0 0 1px #00b0c2, 
    0 0 2px #00c8d6, 
    0 0 3px #00e0eb, 
    0 0 15px #33f2ff; /* #0098ad を基調とした光る効果 */
}
/*文字色*/
.red {
  color: #ff1900;
}
/*==========================================
 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: #c2285e;
}
.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: linear-gradient(10deg, #039570, #00ce86, #01c37a, #02a178, #01bf91);*/
    background:  #c2285e;
  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;
  }
}
