@charset "UTF-8";
/* CSS Document */
/* CSS Document */
* {
  box-sizing: border-box;
  z-index: 0;
  margin: 0;
  padding: 0; }

.min {
  font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }

.gothic {
  font-family: 'Noto Sans JP',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",'Open Sans','Noto Sans JP', sans-serif; }

.meiryo {
  font-family: 'メイリオ', 'Meiryo','Noto Sans JP', sans-serif; }

.min_b {
  font-family: 'Shippori Mincho', serif;
  font-weight: 400; }

html {
  font-size: 62.5%; }

body {
  font-size: 1.0rem;
  /*10px*/
  font-family: 'Noto Sans JP',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",'Open Sans','Noto Sans JP', sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 1.75;
  position: relative;
  color: #574d4f; }

.page_img img {
  width: 100%;
  display: block; }

#pan {
  margin: 0 0 20px;
  font-size: 1.4rem;
  padding: 0;
  background: #fff; }
  #pan ul {
    width: 100%;
    max-width: 970px;
    margin: auto;
    font-size: 1.4rem;
    padding: 0;
    margin: 0 auto;
    line-height: 2;
    overflow-x: auto;
    white-space: nowrap;
    list-style: none;
    overflow-y: hidden; }
    #pan ul li {
      display: inline-block;
      position: relative;
      padding: 0; }
      #pan ul li a {
        text-decoration: none; }
      #pan ul li + li::before {
        content: ">"; }
      #pan ul li:first-child a span {
        display: inline-block;
        width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-indent: 100%; }
      #pan ul li:first-child a::before {
        font-family: "Font Awesome 5 Free";
        content: "";
        font-weight: 900; }

.bana_box {
  margin-bottom: 50px; }
  .bana_box ul {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style-type: none;
    margin: 10px; }
    .bana_box ul img {
      width: 100%; }
  .bana_box p {
    text-align: center;
    line-height: 1.2; }
    .bana_box p a {
      background: #ba9132;
      color: #fff;
      display: inline-block;
      font-size: 2.4rem;
      text-decoration: none;
      padding: 5px 50px;
      border-radius: 2em;
      margin: 10px auto;
      line-height: 1.2; }

.subpage .title {
  background: #ba9132; }
  .subpage .title h1 {
    width: 100%;
    max-width: 970px;
    margin: auto;
    font-weight: normal;
    color: #fff;
    font-size: min(2rem, 3.8vw); }
@media (min-width: 768px) {
  .subpage .title {
    background: #ba9132; }
    .subpage .title h1 {
      width: 100%;
      max-width: 970px;
      margin: auto;
      font-weight: normal;
      color: #fff;
      font-size: 2rem; } }
.subpage .page_img {
  list-style-type: none;
  margin: auto;
  width: 100%;
  max-width: 1600px; }
  .subpage .page_img img {
    width: 100%; }
.subpage .catch {
  width: 100%;
  max-width: 970px;
  margin: auto;
  margin-bottom: 50px; }
  .subpage .catch h1 {
    text-align: center;
    font-size: 5vw;
    color: #ba9132; }
  .subpage .catch p {
    font-size: 2rem;
    line-height: 2;
    font-size: min(2rem, 3.4vw);
    margin: 0 10px; }
@media (min-width: 768px) {
  .subpage .catch {
    width: 100%;
    max-width: 970px;
    margin: auto;
    margin-bottom: 50px; }
    .subpage .catch h1 {
      text-align: center;
      font-size: min(3.4rem, 3.4vw);
      color: #ba9132; }
    .subpage .catch p {
      font-size: 2rem;
      line-height: 2;
      font-size: min(2rem, 3vw); } }
.subpage .article {
  width: 100%;
  max-width: 970px;
  margin: auto;
  margin-bottom: 100px; }
  .subpage .article p {
    font-size: 2rem;
    line-height: 2;
    font-size: min(2rem, 3.8vw);
    text-align: center; }
.subpage .line {
  width: 100%;
  max-width: 970px;
  margin: auto;
  color: #ba9132;
  display: flex;
  align-items: center;
  font-size: 2.2rem;
  margin: 20px auto; }
  @media (min-width: 768px) {
    .subpage .line {
      font-size: 2.8rem; } }
  .subpage .line span {
    background: #fff;
    margin: 0 1em; }
  .subpage .line::before, .subpage .line::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: #ba9132;
    margin: 0; }
.subpage .service_box {
  width: 100%;
  max-width: 970px;
  margin: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .subpage .service_box a {
    text-decoration: none;
    color: #000; }
  .subpage .service_box .box {
    padding: 10px 0 0;
    width: calc((100% - 20px));
    margin: 1px auto;
    font-size: 1.4rem; }
    .subpage .service_box .box h2 {
      line-height: 1.2;
      font-size: 2.4rem;
      text-align: center;
      color: #ba9132; }
      .subpage .service_box .box h2 span {
        display: block;
        font-size: 1.8rem; }
    .subpage .service_box .box p {
      padding: 5px 0;
      font-size: 1.4rem; }
      .subpage .service_box .box p.floor_num {
        font-size: 2.4rem;
        text-align: center;
        color: #ba9132; }
    .subpage .service_box .box .pic {
      position: relative; }
      .subpage .service_box .box .pic img {
        display: block;
        margin: 5px auto;
        width: 100%; }
        .subpage .service_box .box .pic img.icon {
          position: absolute;
          width: 30vw;
          margin: auto;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0; }
        @media (min-width: 768px) {
          .subpage .service_box .box .pic img.icon {
            position: absolute;
            width: 80px;
            margin: auto;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0; } }
@media (min-width: 768px) {
  .subpage .service_box {
    width: 100%;
    max-width: 970px;
    margin: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap; }
    .subpage .service_box .box {
      padding: 10px 0 0;
      width: calc((100% - 60px) / 3);
      margin: 1px auto;
      font-size: 1.4rem; }
      .subpage .service_box .box h2 {
        font-size: 2.4rem;
        text-align: center;
        color: #ba9132; }
      .subpage .service_box .box p {
        padding: 5px 0;
        font-size: 1.8rem; }
        .subpage .service_box .box p.floor_num {
          font-size: 2.4rem;
          text-align: center;
          color: #ba9132; }
      .subpage .service_box .box .pic {
        position: relative; }
        .subpage .service_box .box .pic img {
          display: block;
          margin: 5px auto;
          width: 100%; }
          .subpage .service_box .box .pic img.icon {
            position: absolute;
            width: 80px;
            height: 80px;
            margin: auto;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0; } }

#googlemap {
  width: 100%;
  height: 250px;
  margin-bottom: 10px; }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%; }

.address {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 20px; }

.contact_tel {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 80px; }

@media (min-width: 768px) {
  .address {
    font-size: 2rem; }

  .contact_tel {
    font-size: 2rem; } }
@media (min-width: 768px) {
  #googlemap {
    width: 100%;
    height: 390px; } }
#footer {
  background: #ba9132;
  background: linear-gradient(180deg, rgba(186, 145, 50, 0.7) 0%, #927227 100%); }

.subpage .catch .kouji {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  background: #ba9132;
  margin: 100px 0; }
  .subpage .catch .kouji p {
    color: #fff;
    font-size: 4rem; }
