@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital@0;1&display=swap');
html {
  font-size: 62.5%;
}
a:link {
  color: #331577;
  text-decoration: underline;
  transition: 0.3s;
  -webkit-transition: 0.3s;
}
a:visited {
  color: #331577;
  text-decoration: underline;
}
a:hover {
  color: #9a5aa0;
  text-decoration: none;
}
.center {
  text-align: center;
}
.txt_left {
  text-align: left;
}
.txt_right {
  text-align: right;
}
.pc_none {
  display: none;
}
/* header
------------------------------------------------- */
header {
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #333;
  line-height: 1.6;
  background-color: #FFF;
}
#logo {
  margin-right: 50px;
  position: relative;
  z-index: 99999;
}
.h_contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fat-nav {
  width: calc(100% - 324px);
}
header nav {
  padding-bottom: 0 !important;
}
.btn_online a {
  width: 34px;
  height: 34px;
  background-color: #76206d;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 20px;
}
.btn_online img {
  vertical-align: middle;
}
ul.menu {
  display: flex;
}
ul.menu li {
  margin-right: 50px;
}
ul.menu li a {
  text-decoration: none;
  color: #000;
}
ul.menu li a:hover {
  color: #666;
}
ul.guide {
  display: flex;
  align-items: center;
  list-style: none;
  font-size: 1.4rem;
  margin-bottom: 10px;
}
ul.guide li {
  margin-right: 20px;
}
ul.guide li a {
  text-decoration: none;
  color: #000;
  display: flex;
  align-items: center;
}
ul.guide li a:hover {
  color: #666;
}
ul.guide li img {
  margin-right: 5px;
}
input[type="search"] {
  border: none;
  background-color: #f1f1f1;
  border-radius: 100px;
  padding: 10px 15px;
  font-size: 16px;
}
input[type="search"]:focus {
  outline: none;
}
.online dl {
  display: flex;
  align-items: center;
}
.online dl dt {
  margin-right: 5px;
}
.btn_search {
  background: none;
  border: none;
}
/* レイアウト
------------------------------------------------- */
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
/* footer
------------------------------------------------- */
footer {
	margin-top: 100px;
  padding: 70px 0 30px 0;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #333;
  line-height: 1.6;
   background-color: #FFF;
}
footer ul {
  text-align: center;
  margin-bottom: 40px;
  font-size: 90%;
}
footer ul li {
  display: inline-block;
  margin: 0 20px;
}
#f_logo {
  text-align: center;
  margin-bottom: 20px;
}
address {
  text-align: center;
  font-style: normal;
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
}
footer a:link {
  color: #333;
  text-decoration: none;
  -webkit-transition: 0.4s;
}
footer a:visited {
  color: #333;
  text-decoration: none;
}
footer a:hover {
  color: #331577;
  text-decoration: underline;
}
/* レスポンシブ
-------------------------------------------------------------------------------------------------- */
@media only screen and (max-width: 1200px) {
  .btn_online img {
    width: 16px;
  }
  .btn_online {
    margin-left: auto;
    margin-right: 20px;
  }
  .btn_online a {
    margin-left: 0;
  }
  #logo img {
    vertical-align: middle;
  }
  header nav {
    background-color: #F6F6F6 !important;
    padding: 0 !important;
  }
  .h_contents {
    flex-direction: column-reverse;
    align-items: normal;
  }
  ul.menu {
    flex-direction: column
  }
  ul.menu li {
    margin-right: 0;
  }
  ul.menu li a {
    text-decoration: none;
    color: #000;
    display: block;
    padding: 10px 4%;
    border-bottom: 1px solid #ddd;
    font-weight: bold
  }
  .h_right {
    display: flex;
    flex-direction: column-reverse;
  }
  .online {
    margin-top: 60px;
    display: flex;
    justify-content: center;
  }
  ul.guide {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 0;
  }
  ul.guide li {
    margin-right: 0;
    width: 100%;
  }
  ul.guide li a {
    padding: 10px 4%;
    border-bottom: solid 1px #ddd;
  }
  ul.guide li img {
    width: 18px;
  }
  input[type="search"] {
    background-color: #FFF;
  }
  input[type="search"]:focus {
    outline: none;
  }
  .btn_search img {
    width: 20px;
  }
  .online dl {
    display: flex;
    align-items: center;
    margin: 0 4% 20px 4%;
  }
  .online dl dt {
    margin-right: 5px;
  }
  .btn_search {
    background: none;
    border: none;
  }
}
@media only screen and (max-width: 979px) {
  .br {
    display: none;
  }
  .pc_none {
    display: block;
  }
  /* テキスト
------------------------------------------------- */
  img {
    max-width: 100%;
    height: auto;
  }
  /* レイアウト
------------------------------------------------- */
  header {
    padding: 10px 4%;
    font-size: 1.4rem;
  }
  #logo {
    width: 100px;
  }
  .btn_online img {
    width: 16px;
  }
  /* footer
------------------------------------------------- */
  footer {
  	margin-top: 50px;
    padding: 30px 0 10px 0;
    font-size: 1.4rem;
  }
  footer ul {
    text-align: center;
    margin-bottom: 20px;
  }
  footer ul li {
    display: inline-block;
    margin: 0 15px 5px 15px;
  }
  #f_logo {
    text-align: center;
    margin-bottom: 10px;
  }
  #f_logo img {
    width: 136px;
  }
  address {
    text-align: center;
    font-style: normal;
    font-size: 90%;
  }
  #page-top {
    position: static;
    margin: 0 auto 20px;
    z-index: 999;
    width: 30px;
  }
}