@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: #222;
  font-size: 1.4em;
  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.4em;
    -webkit-overflow-scrolling: touch;
  }
}

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

@media (max-width: 599px) {
  #page.open {
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    position: fixed;
    -webkit-transform: translate3d(-80%, 0, 0);
    -moz-transform: translate3d(-80%, 0, 0);
    transform: translate3d(-80%, 0, 0);
  }
}
#header {
  width: 100%;
  min-width: 1020px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 599px) {
  #header {
    min-width: 100%;
  }
}
#header.linkfixed {
  background: #424037;
  position: fixed;
  z-index: 10;
}
#header.linkfixed .header {
  padding: 10px 40px;
}
#header.linkfixed .header .head-logo {
  width: 100px;
  height: 100px;
  box-shadow: none;
}
@media (max-width: 599px) {
  #header.linkfixed .header .head-logo {
    width: 63px;
    height: 63px;
  }
}
#header.linkfixed .header #gnavi ul li a {
  text-shadow: none;
}
#header .header {
  margin: 0 auto;
  padding: 20px 40px;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 599px) {
  #header .header {
    padding: 5px 2% !important;
    max-width: 100%;
  }
}
#header .header img {
  display: block;
}
@media (max-width: 599px) {
  #header .header img {
    width: 100%;
  }
}
#header .header .head-logo {
  width: 160px;
  height: 160px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  box-shadow: 0px 3px 24px 0px rgba(0, 0, 0, 0.18);
}
#header .header .head-logo img {
  max-width: 100%;
}
@media (max-width: 599px) {
  #header .header .head-logo {
    width: 100px;
    height: 100px;
  }
}
@media (max-width: 599px) {
  #header .header .head-menu {
    display: none;
  }
}
#header .header #sp_navi {
  display: none;
}
@media (max-width: 599px) {
  #header .header #sp_navi {
    width: 30%;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}
@media (max-width: 599px) {
  #header .header #sp_navi li {
    width: 47%;
  }
}

#gnavi {
  min-width: 100%;
}
@media (max-width: 599px) {
  #gnavi {
    font-size: 1.1rem;
    border-top: inherit;
    border-bottom: inherit;
    padding: 20px 5%;
    height: 100%;
    width: 80%;
    min-width: 80%;
    background: #424037;
    position: fixed;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    right: -80%;
    top: 0;
  }
}
#gnavi ul {
  margin: 0 auto;
  max-width: 1020px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width: 599px) {
  #gnavi ul {
    padding: 5% 0;
    max-width: 100%;
  }
}
#gnavi ul:after {
  content: "";
  display: block;
  clear: both;
}
#gnavi ul li {
  padding: 0 20px;
  position: relative;
}
@media (max-width: 599px) {
  #gnavi ul li {
    border-bottom: 1px solid #fff;
    width: 100%;
    padding: 0;
    float: none;
  }
}
#gnavi ul li a {
  color: #fff;
  font-size: 1.6rem;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-shadow: 1px 1px 2px black;
  letter-spacing: 2px;
  line-height: 1.5;
  padding: 0;
  display: block;
  position: relative;
  z-index: 1;
  transition: 0.2s;
}
@media (max-width: 599px) {
  #gnavi ul li a {
    color: #fff;
    text-align: left;
    padding: 14px 0;
    background: #424037;
  }
}
#gnavi ul li a:before {
  content: url(../img/arrow-navi.png);
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  opacity: 0;
}
@media (max-width: 599px) {
  #gnavi ul li a:before {
    content: none;
  }
}
#gnavi ul li a:hover:before {
  opacity: 1;
}
@media (max-width: 599px) {
  #gnavi ul li a:hover {
    color: #fff;
  }
}
#gnavi ul li.sns a {
  display: inline-block;
}
#gnavi ul li.sns a:before {
  content: none;
}
@media (max-width: 599px) {
  #gnavi ul li.sns a {
    border: none;
    width: 30%;
  }
}
@media (max-width: 599px) {
  #gnavi #close {
    color: #fff;
    font-size: 1.5rem;
    border: 1px solid #222;
    padding: 5px 5%;
    width: 100%;
    background: #222;
  }
  #gnavi #close span {
    font-size: 1.5rem;
    font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
  }
}

@media (max-width: 599px) {
  #drawer_underlay {
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (max-width: 599px) {
  #gnavi.open {
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
#contents {
  background: #fff;
}
#contents .contents_header {
  height: 320px;
  background: url(../img/pagetitle-pc.png) center/cover no-repeat;
  position: relative;
  overflow: hidden;
}
#contents .contents_header .head_inner {
  width: 1020px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#contents .contents_header .head_inner .title {
  color: #222;
  font-size: 3.5rem;
  font-weight: bold;
  text-align: left;
  line-height: 1.5;
}
@media (max-width: 599px) {
  #contents .contents_header {
    height: 200px;
    background: url(../img/pagetitle-sp.png) center/cover no-repeat;
  }
  #contents .contents_header .head_inner {
    width: 100%;
    padding: 0 10px;
  }
  #contents .contents_header .head_inner .title {
    font-size: 2.2rem;
  }
}
#contents .breadcrumbs {
  padding: 5px 0;
  background: #222;
}
@media (max-width: 599px) {
  #contents .breadcrumbs {
    padding: 5px 10px;
  }
}
#contents .breadcrumbs ul {
  margin: 0 auto;
  max-width: 1020px;
}
@media (max-width: 599px) {
  #contents .breadcrumbs ul {
    max-width: 100%;
  }
}
#contents .breadcrumbs ul:after {
  content: "";
  display: block;
  clear: both;
}
#contents .breadcrumbs ul li {
  color: #fff;
  font-size: 1.3rem;
  margin-right: 5px;
  float: left;
}
#contents .breadcrumbs ul li a {
  color: #fff;
  margin-right: 4px;
  display: inline-block;
}
#contents .breadcrumbs ul li a:hover {
  text-decoration: none;
}
#contents .section {
  padding: 60px 0 40px;
}
@media (max-width: 599px) {
  #contents .section {
    padding: 30px 0 20px;
  }
}
#contents .section:last-child {
  padding-bottom: 80px;
}
#contents .section h2 {
  color: #424037;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.7rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  margin: 0 auto 45px;
  max-width: 1020px;
}
@media (max-width: 599px) {
  #contents .section h2 {
    font-size: 2.2rem;
    margin: 0 auto 30px;
    max-width: 100%;
  }
}
#contents .section .section_inner {
  margin: 0 auto;
  padding: 0 0 20px;
  max-width: 1020px;
}
@media (max-width: 599px) {
  #contents .section .section_inner {
    padding: 0 10px 20px;
    max-width: 100%;
  }
}
#contents .section .section_inner h3 {
  font-size: 2rem;
  margin-bottom: 20px;
}
#contents .section .section_inner .child_title {
  font-size: 2.2rem;
  font-weight: normal;
  padding-left: 25px;
  margin-bottom: 25px;
  position: relative;
}
#contents .section .section_inner .child_title::before {
  width: 20px;
  height: 2px;
  background: #fff;
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
@media (max-width: 599px) {
  #contents .section .section_inner .child_title {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }
}
#contents .section.line {
  border-top: 1px dashed #ccc;
}
#contents .pick_text {
  color: #222;
  font-size: 1.6rem;
  text-align: center;
  line-height: 2.4;
  margin-bottom: 20px;
}
#contents .pick_text.fc_red {
  color: #ff0000;
}
@media (max-width: 599px) {
  #contents .pick_text {
    font-size: 1.6rem;
    text-align: left;
    margin-bottom: 20px;
  }
}

.footer {
  min-width: 1020px;
  background: #424037;
  position: relative;
}
@media (max-width: 599px) {
  .footer {
    min-width: 100%;
  }
}
.footer .footer_inner {
  padding: 20px 0 0;
}
@media (max-width: 599px) {
  .footer .footer_inner {
    padding: 20px 15px 0;
  }
}
.footer .footer_inner a {
  color: #222;
  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 {
    padding-top: 0;
    margin: 0 auto;
    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 20px;
  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: #fff;
  margin-top: -7.5px;
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
}
@media (max-width: 599px) {
  .footer .footer_inner .footernavi li:after {
    color: #fff;
    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: "＞";
  }
}
.footer .footer_inner .footernavi li a {
  color: #fff;
  font-size: 1.4rem;
}
@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 {
  padding: 20px 0;
  margin: 0 auto;
  max-width: 1020px;
}
.footer .footer_inner .footer_info .footerlogo {
  text-align: center;
}
@media (max-width: 599px) {
  .footer .footer_inner .footer_info {
    padding: 20px 0;
  }
  .footer .footer_inner .footer_info .footerlogo {
    padding: 0 0 15px 0;
  }
  .footer .footer_inner .footer_info .footerlogo img {
    width: 70%;
  }
}
.footer .copy {
  text-align: center;
  padding: 10px 0;
  background-color: #424037;
}
@media (max-width: 599px) {
  .footer .copy {
    padding: 10px 0 13px;
  }
}
.footer .copy p {
  color: #fff;
  font-size: 1.2rem;
  margin: 0;
}

.access_map {
  padding: 0 10px;
  width: 100%;
}
@media (max-width: 599px) {
  .access_map {
    padding: 0 10px;
    width: 100%;
  }
}
.access_map .map_set {
  border: 1px dotted #fff;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.25);
  margin-bottom: 23px;
  height: 450px;
  width: 100%;
}
@media (max-width: 599px) {
  .access_map .map_set {
    box-shadow: inherit;
    height: 200px;
    width: 100%;
  }
}
@media (max-width: 599px) {
  .access_map .map_set .guide {
    font-size: 1rem;
    padding: 13px 10px;
  }
}
.access_map .access_data {
  padding: 15px 0 0;
}
.access_map .access_data dl {
  padding: 0 5px;
}
.access_map .access_data dl:after {
  content: "";
  display: block;
  clear: both;
}
.access_map .access_data dl dt {
  font-weight: bold;
  float: left;
}
@media (max-width: 599px) {
  .access_map .access_data dl dt {
    float: none;
  }
}
.access_map .access_data dl dd {
  padding-left: 80px;
}
@media (max-width: 599px) {
  .access_map .access_data dl dd {
    padding-left: 0;
    margin-bottom: 12px;
  }
}
.access_map .access_data dl dd .postal_code {
  margin-right: 1.5rem;
}
@media (max-width: 599px) {
  .access_map .access_data dl dd .postal_code {
    margin-right: 0;
    display: block;
  }
}
.access_map .access_data dl dd a {
  color: #222;
}

.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;
  padding: 25px 16px;
  background: rgba(255, 255, 255, 0.8);
}
@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 {
  text-align: center;
  width: 28%;
  border-bottom: 2px solid #fff;
}
@media (max-width: 599px) {
  .table_base table tbody th {
    text-align: left;
    width: 100%;
    background: #f1f1f1;
    border: none;
  }
}
.table_base table tbody td {
  border-bottom: 2px solid #ccc;
  padding: 25px 40px;
}
@media (max-width: 599px) {
  .table_base table tbody td {
    border: none;
    padding: 12px;
  }
}

.content_inner {
  padding: 10px 0 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width: 599px) {
  .content_inner {
    padding: 0 0 25px;
    display: block;
  }
}
.content_inner .images img {
  width: 100%;
}
.content_inner.w_margin410 .images {
  width: 410px;
}
@media (max-width: 599px) {
  .content_inner.w_margin410 .images {
    width: 100%;
  }
}
.content_inner.w_margin410 .msg {
  width: 570px;
}
@media (max-width: 599px) {
  .content_inner.w_margin410 .msg {
    width: 100%;
  }
}
.content_inner.w_margin450 .images {
  width: 450px;
}
@media (max-width: 599px) {
  .content_inner.w_margin450 .images {
    width: 100%;
  }
}
.content_inner.w_margin450 .msg {
  width: 530px;
}
@media (max-width: 599px) {
  .content_inner.w_margin450 .msg {
    width: 100%;
  }
}

/* .image_list */
.image_list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.image_list li img {
  width: 100%;
  display: block;
}
.image_list li span {
  padding: 15px 0 0;
  display: block;
}
.image_list.two_image li {
  width: 45%;
}
.image_list.two_image li:nth-child(odd) {
  margin-right: 4%;
}
.image_list.three_image li {
  width: 30%;
}
.image_list.three_image li:not(:nth-child(3n)) {
  margin-right: 3%;
}

.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;
  }
}

.after {
  display: none;
}

.tel a {
  color: #222;
  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-button, .btn_base {
  width: 220px;
  margin: 0 auto 20px !important;
}
@media (max-width: 599px) {
  .wp-block-button, .btn_base {
    width: 90%;
    margin: 0 auto 15px !important;
  }
}
.wp-block-button a, .btn_base a {
  color: #424037;
  font-size: 1.8rem;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  padding: 22px 20px;
  margin-bottom: 25px;
  height: 100%;
  width: 100%;
  border-radius: 0;
  background: none;
  display: block;
  position: relative;
  transition: 0.5s;
  overflow: hidden;
  z-index: 0;
}
@media (max-width: 599px) {
  .wp-block-button a, .btn_base a {
    font-size: 1.5rem;
    padding: 20px;
    margin-bottom: 15px;
  }
}
.wp-block-button a::before, .btn_base a::before {
  width: 210px;
  height: 22px;
  background: url(../img/arrow01.png) top left/contain no-repeat;
  position: absolute;
  content: "";
  bottom: 0;
  left: 10px;
  transition: 0.5s;
}
.wp-block-button a:hover::before, .btn_base a:hover::before {
  left: 15px;
}
@media (max-width: 599px) {
  .wp-block-button a:hover::before, .btn_base a:hover::before {
    left: 10px;
  }
}

.everywhere_block {
  text-align: center;
  line-height: 2.2;
  margin: 0 auto 50px;
  max-width: 1020px;
}
@media (max-width: 599px) {
  .everywhere_block {
    text-align: left;
    line-height: 1.8;
    margin: 0 auto 30px;
    padding: 0 20px;
    max-width: 100%;
  }
}/*# sourceMappingURL=common.css.map */