@charset "UTF-8";
/* background-image ratina対応 */
/* メディアクエリの設定 */
/* ====================================================== */
/* [標準スタイル定義]                                     */
/* ====================================================== */
/*===========================
表示スタイル定義
===========================*/
html, body {
  font-size: 3.4vw;
  min-width: auto; }

body.nav-open {
  height: 100vh;
  overflow: hidden; }

h1 {
  font-size: 7.2vw;
  line-height: 1em;
  font-weight: bold;
  color: #555; }
  h1 span.en {
    color: #c0ab9a;
    font-size: 4.8vw;
    line-height: 1em;
    display: block;
    margin-bottom: 4.2vw; }

h2 {
  font-size: 6vw;
  color: #c0ab9a;
  font-weight: bold;
  line-height: 1.4em; }

h3 {
  font-size: 4.8vw;
  color: #555;
  font-weight: bold;
  line-height: 1.8em; }

h4 {
  font-size: 4.0vw;
  color: #555;
  font-weight: bold;
  line-height: 1.8em; }

a:hover,
a.button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover,
.btnOpacity:hover,
a:active,
a.button:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button:active,
.btnOpacity:active {
  filter: alpha(opacity=100);
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1.0; }

.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all .6s;
  cursor: pointer; }

/*===========================
スマホ・PC切り替え
===========================*/
.pc-cnt {
  display: none !important; }

.sp-cnt {
  display: block !important; }

/* table */
/* ------------------------------------------------------ */
table th, table td {
  display: list-item;
  list-style-type: none;
  width: 100%;
  text-align: left;
  padding: .5em 0;
  border: 0px !important; }

table th {
  background: transparent;
  border-bottom: 1px solid #ddd !important;
  color: #555;
  position: relative; }

table th:before {
  position: absolute;
  content: "";
  display: block;
  height: 1px;
  width: 20vw;
  background-color: #c3ad9d;
  bottom: -1px; }

/*===========================
ヘッダー・メニュー
===========================*/
header {
  position: fixed;
  width: 100%;
  background: #fff;
  height: 17.34vw;
  top: 0px;
  left: 0px;
  z-index: 99999; }
  header .container {
    padding: 0px;
    height: 100%;
    position: relative; }
    header .container .h-logo {
      padding: 0;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 4.8vw;
      width: auto;
      display: flex;
      align-items: center;
      z-index: 2; }
      header .container .h-logo img {
        width: 43.5vw;
        margin: -2px auto 0; }
    header .container .sp__mw-logo {
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      display: flex !important;
      align-items: center;
      left: 52vw;
      z-index: 3; }
      header .container .sp__mw-logo img {
        width: 15vw;
        height: auto;
        display: block;
        margin-top: 2px; }

#nav {
  position: fixed;
  top: 0;
  /*ナビメニューを左に隠した状態になる*/
  right: -60%;
  width: 60%;
  height: 100vh;
  background: #ffffff;
  /*０.7秒かけてナビメニューがスライドする*/
  transition: .5s;
  z-index: 0;
  overflow-y: auto; }
  #nav ul {
    width: 100%;
    padding-top: 17.34vw; }
    #nav ul li {
      width: 100%;
      list-style-type: none;
      font-size: 4.8vw; }
      #nav ul li a {
        width: 100%;
        display: block;
        text-decoration: none;
        color: #000000;
        margin: 0;
        padding: 5.6vw 0;
        transition: .5s;
        text-align: center;
        line-height: 1em; }
      #nav ul li a:hover {
        border-bottom: none; }
    #nav ul li + li {
      margin-left: 0px; }
    #nav ul li:last-child {
      padding: 3vw 5vw 0; }
      #nav ul li:last-child a {
        font-size: 3.6vw;
        padding: 3.6vw;
        border: 1px solid #c0ab9a !important;
        color: #c0ab9a;
        background: #fff !important; }
    #nav ul li:nth-last-child(2) a {
      color: #c0ab9a !important; }

#hamburger {
  display: block;
  position: absolute;
  top: 0px;
  bottom: 0;
  margin: auto;
  right: 4.8vw;
  width: 7.2vw;
  height: 6.3vw;
  cursor: pointer;
  transition: .5s;
  z-index: 1; }
  #hamburger .inner_line {
    display: block;
    position: absolute;
    left: 0;
    width: 7.2vw;
    height: 2px;
    background-color: #000;
    transition: .5s;
    border-radius: 4px; }
  #hamburger #line1 {
    top: 0; }
  #hamburger #line2 {
    top: calc(50% - 1px); }
  #hamburger #line3 {
    bottom: 0px; }
  #hamburger .line_1, #hamburger .line_2, #hamburger .line_3 {
    background: #000000; }
  #hamburger .line_1 {
    /*-45度回転させる*/
    transform: rotate(-45deg);
    top: 3vw !important; }
  #hamburger .line_2 {
    opacity: 0; }
  #hamburger .line_3 {
    /*45度回転させる*/
    transform: rotate(45deg);
    bottom: 3vw !important; }

#nav.in {
  transform: translateX(-100%); }

/* 表示された時用のCSS */
.nav-open .black-bg {
  opacity: .6;
  visibility: visible; }

/*===========================
コンテンツ
===========================*/
.container {
  width: calc(100% - 9.6vw);
  margin: 0 auto; }

.cnt-wrap {
  padding-top: 17.34vw;
  padding-bottom: 9.6vw; }

section {
  padding: 6vw 0 0; }

section + section {
  margin-top: 0;
  padding-top: 9.6vw; }

.bc-li {
  margin: 4.8vw auto 7.2vw;
  display: flex;
  justify-content: flex-start; }
  .bc-li li:last-child {
    max-width: 58vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }

/*===========================
フッター
===========================*/
footer {
  height: auto;
  min-height: auto;
  max-height: none;
  font-size: 3vw;
  padding: 2.4vw 0 4.8vw; }
  footer li {
    width: calc((100vw - 9.6vw) / 3);
    padding: 2.4vw 0; }
    footer li i {
      margin-right: 2.6vw; }
  footer li + li {
    margin-left: 0; }
  footer span {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 3.6vw;
    line-height: 1em; }

.sp__gotop {
  position: fixed;
  right: 0px;
  bottom: 0px;
  width: 18.75vw;
  z-index: 9999; }

/*===========================
共通パーツ
===========================*/
/*ボタン*/
.btn a i {
  width: 3.8vw;
  height: 3.8vw;
  margin-right: 2.4vw; }

.btn-mid a {
  width: 72.46vw;
  padding: 4.8vw 0; }

.btn-sml a {
  width: 43.47vw;
  padding: 2.4vw 0; }

/* ページャー */
.pager .wp-pagenavi {
  margin: 4.8vw 0 0;
  padding: 3.6vw 0;
  border-top: 1px #ccc solid;
  border-bottom: 1px #ccc solid; }
.pager .wp-pagenavi * {
  line-height: 5.8vw; }
.pager a {
  display: inline-block;
  position: relative;
  padding: unset;
  width: 5.8vw;
  height: 5.8vw;
  text-align: center; }
.pager a.page {
  width: 5.8vw;
  margin: 0 1.8vw; }
.pager a.first .pager-text,
.pager a.previouspostslink .pager-text,
.pager a.last .pager-text,
.pager a.nextpostslink .pager-text {
  display: none; }
.pager a.first,
.pager a.previouspostslink {
  margin-right: 3vw;
  padding: unset; }
.pager a.last,
.pager a.nextpostslink {
  margin-left: 3vw;
  padding: unset; }
.pager .is-current {
  width: 5.8vw;
  height: 5.8vw;
  border-radius: 2.9vw;
  margin: 0 1.8vw; }

.pager + * {
  margin-top: 40px; }

/* ニュースリスト */
.news-list-box ul {
  width: 100%;
  margin: 0 auto; }
  .news-list-box ul li {
    padding: 4.8vw 0;
    font-weight: bold; }
    .news-list-box ul li span {
      width: 100%; }
    .news-list-box ul li .date {
      color: #c0ab9a; }
    .news-list-box ul li .date + span {
      display: inline-block; }
  .news-list-box ul li + li {
    border-top: 1px dotted #929292; }

/*# sourceMappingURL=sp_common.css.map */
