@charset "UTF-8";
@font-face {
  font-family: "Hannari";
  src: url(../font/HannariMincho-Regular.woff) format("woff");
}
@font-face {
  font-family: "Arial Black";
  font-style: normal;
  font-weight: 400;
  display: swap;
  src: local("Arial Black"), url("ariblk_0.ttf") format("ttf");
}
html {
  font-size: 62.5%;
  min-height: 100%;
  overflow-y: scroll;
  background: #fff;
}
@media (max-width: 599px) {
  html {
    width: 100%;
    height: 100%;
  }
}
html body,
html dd,
html div,
html dl,
html dt,
html fieldset,
html form,
html h1,
html h2,
html h3,
html h4,
html h5,
html h6,
html input,
html li,
html ol,
html p,
html td,
html textarea,
html th,
html ul {
  padding: 0;
  margin: 0;
}
html article,
html aside,
html details,
html figcaption,
html figure,
html footer,
html header,
html hgroup,
html menu,
html nav,
html section {
  display: block;
  padding: 0;
  margin: 0;
}
html address,
html caption,
html em,
html strong,
html th {
  font-style: normal;
}
html caption,
html th {
  text-align: left;
}
html hr,
html legend {
  display: none;
}
html h1,
html h2,
html h3,
html h4,
html h5,
html h6 {
  font-size: 100%;
}
html ol,
html ul {
  list-style: none;
}
html a img,
html fieldset {
  border: none;
}
html a:visited {
  text-decoration: none;
}
html p {
  margin-bottom: 12px;
}
html * {
  box-sizing: border-box;
}
html blockquote,
html dl,
html ol,
html pre,
html table,
html ul {
  margin-bottom: 0;
}
html table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  color: #1b1b1b;
  font-size: 1.6em;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: none;
  letter-spacing: 1.5px;
  line-height: 1.8;
  height: 100%;
  min-width: 1040px;
  background: #fff;
}
@media (max-width: 599px) {
  body {
    position: relative;
    width: 100%;
    min-width: 100%;
    font-size: 1.6em;
    -webkit-overflow-scrolling: touch;
  }
}

#page {
  margin: 0 auto;
  width: auto;
}
@media (max-width: 599px) {
  #page {
    position: relative;
    width: 100%;
    margin: 0 auto;
  }
}

#header {
  position: fixed;
  width: 100%;
  min-width: 1020px;
  padding: 0 20px;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1;
}
@media (max-width: 599px) {
  #header {
    min-width: 100%;
    padding: 0;
  }
}
#header .header {
  margin: 0 auto;
  padding: 10px 0;
  max-width: 1020px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width: 599px) {
  #header .header {
    padding: 10px 2%;
    max-width: 100%;
  }
}
#header .header img {
  display: block;
}
@media (max-width: 599px) {
  #header .header img {
    width: 100%;
  }
}
@media (max-width: 599px) {
  #header .header .head-logo {
    width: 17%;
  }
}

/*ナビゲーション*/
#navi {
  position: fixed;
  z-index: 2;
  top: 90px;
  left: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
@media (max-width: 599px) {
  #navi {
    top: 68px;
  }
}
#navi ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
#navi ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: 0.4s all;
}
#navi ul li:last-child {
  padding-bottom: 0;
}
#navi ul li:hover {
  background: #414141;
}
#navi ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration: none;
}
#navi.active {
  opacity: 100;
  visibility: visible;
}

/*メニューボタン外側*/
.openbtn {
  /*ボタン内側の基点となるためrelativeを指定。
  追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
  position: relative;
  cursor: pointer;
  width: 40px;
  height: 40px;
}

/*メニューボタン内側*/
.openbtn span p {
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  letter-spacing: 2px;
  padding-top: 23px;
  display: block;
  margin: 0;
}
.openbtn span::before, .openbtn span::after, .openbtn span p::before {
  position: absolute;
  content: "";
  left: 0;
  height: 3px;
  border-radius: 2px;
  background: #fff;
  width: 40px;
  transition: all 0.4s; /*アニメーションの設定*/
}

.openbtn span:before {
  top: 0;
}

.openbtn span:after {
  top: 10px;
}

.openbtn span p::before {
  top: 20px;
}

/*activeクラスが付与されると線が回転して×に*/
.openbtn.active span:before {
  top: 3px;
  left: 0;
  transform: translateY(6px) rotate(-45deg);
  width: 40px;
}

.openbtn.active span:after {
  top: 15px;
  left: 0;
  transform: translateY(-6px) rotate(45deg);
  width: 40px;
}

.openbtn.active span p:before {
  background: none;
}

.right_botton {
  position: fixed;
  top: 50%;
  right: 10px;
  z-index: 1000;
}
.right_botton ul li {
  padding: 10px 0;
}

/*コンテンツ*/
#contents {
  background: #fff;
}
#contents .section {
  padding: 60px 0 30px;
}
@media (max-width: 599px) {
  #contents .section {
    padding: 20px 0 10px;
  }
}
#contents .section:last-child {
  padding-bottom: 80px;
}
@media (max-width: 599px) {
  #contents .section:last-child {
    padding-bottom: 30px;
  }
}
#contents .section .section_inner {
  margin: 0 auto;
  padding: 0 0 20px;
  max-width: 1020px;
}
@media (max-width: 1020px) {
  #contents .section .section_inner {
    max-width: 100%;
    padding: 0 10px 20px;
  }
}
@media (max-width: 599px) {
  #contents .section .section_inner {
    max-width: 100%;
  }
}
#contents .pick_text {
  color: #1b1b1b;
  font-family: "Hannari";
  font-size: 2.5rem;
  line-height: 1.5;
  margin-bottom: 15px;
}
@media (max-width: 599px) {
  #contents .pick_text {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
}
#contents figure a {
  position: relative;
  display: block;
}
#contents figure a::before {
  width: 100%;
  height: 100%;
  background: #a7a7a7;
  position: absolute;
  content: "";
  transition: 0.7s;
  opacity: 0;
}
#contents figure a:hover::before {
  opacity: 0.3;
}
#contents section.top_contact {
  background: #1b1b1b;
}
#contents section.top_contact h1 {
  color: #fff;
  font-family: "Hannari";
  font-size: 3rem;
  font-weight: normal;
  line-height: 1;
  text-align: center;
  padding: 35px 15px;
}
@media (max-width: 599px) {
  #contents section.top_contact h1 {
    font-size: 2rem;
    padding: 20px 15px;
  }
}
#contents section.top_contact .top_contact_back {
  background: #d6d6d6;
}
#contents section.top_contact .top_contact_back .section_inner {
  max-width: 750px;
  margin: 0 auto 0;
  padding: 40px 0;
}
@media (max-width: 599px) {
  #contents section.top_contact .top_contact_back .section_inner {
    padding: 20px 15px;
  }
}
#contents section.top_contact .top_contact_back .section_inner .contact_tel {
  text-align: center;
  border-bottom: solid 1px #b4b4b4;
  margin-bottom: 25px;
}
#contents section.top_contact .top_contact_back .section_inner .contact_tel p {
  margin-bottom: 20px;
}
#contents section.top_contact .top_contact_back .section_inner .contact_tel p.tel a {
  color: #a4791e;
  font-size: 3.5rem;
}
@media (max-width: 599px) {
  #contents section.top_contact .top_contact_back .section_inner .contact_tel p.tel a {
    font-size: 3rem;
  }
}
@media (max-width: 599px) {
  #contents section.top_contact .top_contact_back .section_inner .contact_tel p {
    margin-bottom: 10px;
  }
}
#contents section.top_contact .top_contact_back .section_inner .contact_line {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 599px) {
  #contents section.top_contact .top_contact_back .section_inner .contact_line {
    flex-direction: column;
  }
}
#contents section.top_contact .top_contact_back .section_inner .contact_line p {
  font-size: 2rem;
  position: relative;
  padding-right: 60px;
}
#contents section.top_contact .top_contact_back .section_inner .contact_line p::before {
  vertical-align: middle;
  box-sizing: border-box;
  width: 20px;
  height: 10px;
  border: 10px solid transparent;
  border-left: 15px solid #1b1b1b;
  margin: auto;
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 20px;
}
@media (max-width: 599px) {
  #contents section.top_contact .top_contact_back .section_inner .contact_line p {
    font-size: 1.6rem;
    text-align: center;
    padding: 0;
  }
  #contents section.top_contact .top_contact_back .section_inner .contact_line p::before {
    display: none;
  }
}
#contents section.top_contact .top_contact_back .section_inner .contact_line img {
  width: 105px;
}

.footer {
  min-width: 1020px;
  background: #1b1b1b;
  position: relative;
}
@media (max-width: 599px) {
  .footer {
    min-width: 100%;
  }
}
.footer #pagetop {
  display: none;
  transition: 0.7s;
}
@media (max-width: 599px) {
  .footer #pagetop {
    width: 15%;
  }
}
.footer #pagetop:hover {
  opacity: 0.7;
}
@media (max-width: 599px) {
  .footer #pagetop:hover {
    opacity: 1;
  }
}
.footer #pagetop a {
  text-align: center;
  color: #1b1b1b;
  text-decoration: none;
}
.footer #pagetop a img {
  display: block;
}
@media (max-width: 599px) {
  .footer #pagetop a img {
    width: 100%;
  }
}
.footer #pagetop.fixed {
  right: 3%;
  bottom: 50px;
  display: block;
  z-index: 100;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 599px) {
  .footer #pagetop.fixed {
    right: 9px;
    bottom: 50px;
    display: block;
    z-index: 100;
    transform: translate3d(0, 0, 0);
  }
}
.footer .footer_inner {
  padding: 20px 0 0;
}
@media (max-width: 599px) {
  .footer .footer_inner {
    padding: 20px 15px 0;
  }
}
.footer .footer_inner a {
  color: #1b1b1b;
  text-decoration: none;
  color: #fff;
}
.footer .footer_inner .footernavi {
  padding-top: 20px;
  margin: 0 auto 25px;
  max-width: 1020px;
}
@media (max-width: 599px) {
  .footer .footer_inner .footernavi {
    max-width: 100%;
  }
}
.footer .footer_inner .footernavi:after {
  content: "";
  display: block;
  clear: both;
}
.footer .footer_inner .footernavi ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 599px) {
  .footer .footer_inner .footernavi ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.footer .footer_inner .footernavi li {
  padding: 0 30px;
  position: relative;
}
@media (max-width: 599px) {
  .footer .footer_inner .footernavi li {
    width: 50%;
    padding: 0 10px 0 15px;
    margin-bottom: 5px;
  }
}
.footer .footer_inner .footernavi li:after {
  width: 1px;
  height: 15px;
  background: #a7a7a7;
  margin-top: -7.5px;
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
}
@media (max-width: 599px) {
  .footer .footer_inner .footernavi li:after {
    font-size: 1rem;
    background: none;
    margin-top: -9px;
    content: "＞";
    top: 50%;
    left: 0;
  }
}
.footer .footer_inner .footernavi li:last-child::after {
  content: none;
}
@media (max-width: 599px) {
  .footer .footer_inner .footernavi li:last-child::after {
    content: none;
  }
}
.footer .footer_inner .footernavi li a {
  color: #fff;
}
@media (max-width: 599px) {
  .footer .footer_inner .footernavi li a {
    font-size: 1.3rem;
    display: block;
    padding: 3px 0;
  }
}
.footer .footer_inner .footernavi li a:hover {
  text-decoration: underline;
}
@media (max-width: 599px) {
  .footer .footer_inner .footernavi li a:hover {
    text-decoration: none;
  }
}
.footer .footer_inner .footer_info {
  color: #fff;
  font-size: 1.6rem;
  padding: 20px 0 40px;
  margin: 0 auto;
  max-width: 1020px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.footer .footer_inner .footer_info .footerlogo {
  padding-right: 45px;
}
.footer .footer_inner .footer_info .address,
.footer .footer_inner .footer_info .tel {
  color: #fff;
  margin-bottom: 0;
}
@media (max-width: 599px) {
  .footer .footer_inner .footer_info {
    font-size: 1.3rem;
    text-align: center;
    padding: 20px 0 30px;
    justify-content: center;
    flex-direction: column;
  }
  .footer .footer_inner .footer_info .footerlogo {
    padding: 0 0 15px 0;
  }
  .footer .footer_inner .footer_info .footerlogo img {
    width: 70%;
  }
}
.footer .copy {
  background: #1b1b1b;
  text-align: center;
  padding: 10px 0;
}
@media (max-width: 599px) {
  .footer .copy {
    padding: 10px 0 13px;
  }
}
.footer .copy p {
  color: #fff;
  font-size: 1.3rem;
  margin: 0;
}

.table_base {
  padding: 0 0 25px;
}
.table_base table {
  width: 100%;
}
@media (max-width: 599px) {
  .table_base table {
    border: 0;
  }
}
.table_base table td,
.table_base table th {
  font-weight: normal;
  border-bottom: 3px solid #fff;
  padding: 25px 16px;
}
@media (max-width: 599px) {
  .table_base table td,
.table_base table th {
    font-weight: normal;
    border: 0;
    padding: 12px;
    display: block;
  }
}
.table_base table tbody th {
  width: 28%;
}
@media (max-width: 599px) {
  .table_base table tbody th {
    width: 100%;
    background: #b9c8e9;
    border: none;
  }
}
.table_base table tbody td {
  padding: 25px 40px;
  border-left: 3px solid #fff;
}
@media (max-width: 599px) {
  .table_base table tbody td {
    margin-bottom: 10px;
    padding: 12px;
  }
}

.txt_c {
  text-align: center;
}
@media (max-width: 599px) {
  .txt_c {
    text-align: left;
  }
}

.txt_r {
  text-align: right;
}

.only_pc {
  display: block;
}
@media (max-width: 599px) {
  .only_pc {
    display: none;
  }
}

.only_sp {
  display: none;
}
@media (max-width: 599px) {
  .only_sp {
    display: block;
  }
}

.tel a {
  color: #1b1b1b;
  text-decoration: none;
  cursor: inherit;
  pointer-events: none;
}
@media (max-width: 599px) {
  .tel a {
    pointer-events: inherit;
  }
}

.fade_hover a {
  transition: 0.8s;
}
@media (max-width: 599px) {
  .fade_hover a {
    transition: none;
  }
}
.fade_hover a:hover {
  opacity: 0.7;
}
@media (max-width: 599px) {
  .fade_hover a:hover {
    opacity: 1;
  }
}

.wp-block-buttons > .wp-block-button {
  width: 300px;
}
@media (max-width: 599px) {
  .wp-block-buttons > .wp-block-button {
    width: 100%;
  }
}
.wp-block-buttons > .wp-block-button a {
  color: #fff;
  font-size: 3rem;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  padding: 10px 30px;
  background: #a4791e;
  border: 1px solid rgba(255, 255, 255, 0);
  border-radius: 0;
  display: block;
  position: relative;
  transition: 0.7s;
}
.wp-block-buttons > .wp-block-button a:hover {
  color: #a4791e;
  border: 1px solid #a4791e;
  background: #fff;
}
@media (max-width: 599px) {
  .wp-block-buttons > .wp-block-button a {
    font-size: 2rem;
    text-align: center;
    padding: 10px 0;
  }
  .wp-block-buttons > .wp-block-button a:hover {
    color: #1b1b1b;
    border: 1px solid #1b1b1b;
    background: #fff;
  }
}

/*
* “はんなり明朝” licensed under the IPA Font License Agreement v1.0
* http://typingart.net/（”はんなり明朝”配布元のURL）
* http://ipafont.ipa.go.jp/（IPAフォントのURL）
* http://ipafont.ipa.go.jp/ipa_font_license_v1.html（IPAフォントライセンスv1.0のURL）
*//*# sourceMappingURL=common.css.map */