@charset "UTF-8";
/*フッターに関するもの*/
.page-top {
  position: fixed;
  bottom: 30px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 1s;
}
.page-top.is-visible {
  visibility: visible;
  animation: UpAnime 0.5s forwards;
}
.page-back {
  position: fixed;
  bottom: 30px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 1s;
}
.page-back.is-visible {
  visibility: visible;
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 1600px) {
  .page-top {
    right: 5px;
  }
  .page-back {
    left: 16px;
  }
}
@media (min-width: 1600px) and (max-width: 2000px) {
  .page-top {
    right: 15px;
  }
  .page-back {
    left: 20px;
  }
}
@media (min-width: 2000px) {
  .page-top {
    right: 20px;
  }
  .page-back {
    left: 25px;
  }
}

@media (max-width: 768px) {
  .footerS_btn {
    border-radius: 100%;
    background-color: #e06338;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    margin-bottom: 0.3em;
  }
  .footerS_btn .bi {
    font-size: 2em;
    color: #ffffff;
  }
  .footerS_text {
    color: #e06338;
    font-size: 0.7em;
  }
  .footerT_btn {
      border-radius: 100%;
      background-color: #e06338;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 60px;
      height: 60px;
      margin-bottom: .3em;
  }
  .footerT_btn .bi{
      color: #ffffff;
      font-size: 2em;
  }
  .footerT_text {
      color: #e06338;
      font-size: .7em;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  .footerS_btn {
    border-radius: 100%;
    background-color: #e06338;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 75px;
    height: 75px;
    margin-bottom: 0.3em;
  }
  .footerS_btn .bi {
    font-size: 2.5em;
    color: #ffffff;
  }
  .footerS_text {
    color: #e06338;
    font-size: 0.7em;
  }
  .footerT_btn {
      border-radius: 50%;
      background-color: #e06338;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 75px;
      height: 75px;
      margin-bottom: .3em;
  }
  .footerT_btn .bi{
      color: #ffffff;
      font-size: 2.5em;
  }
  .footerT_btn .bi-caret-up-fill{
      margin-bottom: .1em;
  }                
  .footerT_btn .bi-caret-left-fill{
      margin-right: .1em;
  }
  .footerT_text {
      color: #e06338;
      font-size: .75em;
  }
}
@media (min-width: 992px) and (max-width: 1600px) {
  .footerS_btn {
    border-radius: 10%;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    margin-bottom: 0.8em;
  }
  .footerS_btn .bi {
    color: #e06338;
    font-size: 3.5em;
  }
  .footerS_text {
    color: #fff;
    font-size: 0.9em;
  }
  .footerT_btn {
      border-radius: 10%;
      background-color: #e06338;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 80px;
      height: 80px;
      margin-bottom: .8em;
  }
  .footerT_btn .bi{
      color: #ffffff;
      font-size: 3.5em;
  }
  .footerT_text {
      color: #e06338;
      font-size: 0.9em;
  }
}
@media (min-width: 1600px) and (max-width: 2000px) {
  .footerS_btn {
      border-radius: 10%;
      background-color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100px;
      height: 100px;
      margin-bottom: 0.8em;
  }
  .footerS_btn .bi {
      color: #e06338;
      font-size: 4.0em;
  }
  .footerS_text {
      color: #fff;
      font-size: 1.0em;
  }
  .footerT_btn {
      border-radius: 10%;
      background-color: #e06338;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100px;
      height: 100px;
      margin-bottom: 0.8em;
  }
  .footerT_btn .bi{
      color: #ffffff;
      font-size: 4.0em;
  }
  .footerT_text {
      color: #e06338;
      font-size: 1.0em;
  }
}
@media (min-width: 2000px) {
  .footerS_btn {
      border-radius: 10%;
      background-color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 110px;
      height: 110px;
      margin-bottom: 0.8em;
  }
  .footerS_btn .bi {
      color: #e06338;
      font-size: 4.2em;
  }
  .footerS_text {
      color: #fff;
      font-size: 1.2em;
  }
  .footerT_btn {
      border-radius: 10%;
      background-color: #e06338;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 110px;
      height: 110px;
      margin-bottom: 0.8em;
  }
  .footerT_btn .bi{
      color: #ffffff;
      font-size: 4.2em;
  }
  .footerT_text {
      color: #e06338;
      font-size: 1.2em;
  }
}

/*ナビゲーションに関するもの*/
@media (max-width: 992px) {
    .search_width {
      width: 250px;
    }
    input::placeholder {
      font-size: 0.8rem;
    }
    .img1{
        width:135px;
        height: auto;
    }
}
@media (min-width: 992px) and (max-width: 1600px) {
  .search_width {
      width: 230px;
  }
  input::placeholder {
      font-size: 0.7rem;
  }
  .img1{
      width:120px;
      height: auto;
  }
}
@media (min-width: 1600px) and (max-width: 2000px) {
  .search_width {
      width: 250px;
  }
  input::placeholder {
      font-size: 0.8rem;
  }
  .img1{
      width:190px;
      height: auto;
  }
}
@media (min-width: 2000px) {
  .search_width {
      width: 270px;
  }
  input::placeholder {
      font-size: 0.9rem;
  }
  .img1{
      width:230px;
      height: auto;
  }
}


/*全般に関するもの*/
.sub_color {
  color: #8e8e8e;
}
.under_bar {
  text-decoration: none;
}
.bi-dot{
    font-size: .8em;;
}
@media (max-width: 768px) {
  .fs_b {
    font-weight: bold;
    font-size: 1rem;
  }
  .fs_sm {
    font-size: 0.8rem;
    line-height: 1rem;
  }
  .fs_md {
      font-size: 0.9rem;
      line-height: 1.05rem;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  .fs_b {
    font-weight: bold;
    font-size: 1.1rem;
  }
  .fs_sm {
    font-size: 0.8rem;
    line-height: 1rem;
  }
  .fs_md {
      font-size: 1.0rem;
      line-height: 1.15rem;
  }
}
@media (min-width: 992px) {
  .fs_b {
    font-weight: bold;
    font-size: 1.3rem;
  }
}
@media (min-width: 992px) and (max-width: 1600px) {
  .fs_md {
      font-size: 1.0rem;
      line-height: 1.15rem;
  }
  .fs_sm {
      font-size: 0.8rem;
      line-height: 1rem;
  }
  h1 .pre {
      font-size: 3.0rem;
      font-weight: bold;
  }
  h1 .post {
      font-size: 1.7rem;
  }
}
@media (min-width: 1600px) and (max-width: 2000px) {
  .fs_md {
      font-size: 1.3rem;
      line-height: 1.55rem;
  }
  .fs_sm {
      font-size: 0.9rem;
      line-height: 1.0rem;
  }
  h1 .pre {
      font-size: 4.4rem;
      font-weight: bold;
  }
  h1 .post {
      font-size: 2.4rem;
  }
}
@media (min-width: 2000px) {
  .fs_md {
      font-size: 1.8rem;
      line-height: 1.95rem;
  }
  .fs_sm {
      font-size: 0.9rem;
      line-height: 1.0rem;
  }
  h1 .pre {
      font-size: 5.4rem;
      font-weight: bold;
  }
  h1 .post {
      font-size: 3.2rem;
  }
}

.truncate {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-clamp: 1;
  /* 他のブラウザ対応 */
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  text-overflow: ellipsis;
}

.gmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%; /*16:9の比率にしたい場合、9/16=56.25%*/
}

.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*各tableで使う*/
.speechBubbleP {
  position: relative;
  display: inline-block;
  border: 2px solid #2c2c2c;
  border-radius: 7px;
  background-color: #ffffff;
  color: #000000;
}
.speechBubbleP::before {
  content: "";
  position: absolute;
  top: 77%;
  right: 0;
  border-style: solid;
  border-width: 15px 0 0 20px;
  border-color: transparent transparent transparent #2c2c2c;
  translate: 100% -50%;
}
.speechBubbleP::after {
  content: "";
  position: absolute;
  top: 77%;
  right: 0;
  border-style: solid;
  border-width: 10.5px 0 0 14px;
  border-color: transparent transparent transparent #ffffff;
  translate: 100% calc(-50% + 0.2px);
}
.speechBubbleM {
  position: relative;
  display: inline-block;
  border: 1px solid #2c2c2c;
  border-radius: 7px;
  background-color: #ffffff;
  color: #000000;
}
.speechBubbleM::before {
  content: "";
  position: absolute;
  top: 67%;
  left: 0;
  border-style: solid;
  border-width: 5px 14px 5px 0;
  border-color: transparent #2c2c2c transparent transparent;
  translate: -100% -50%;
}
.speechBubbleM::after {
  content: "";
  position: absolute;
  top: 67%;
  left: 0;
  border-style: solid;
  border-width: 3.9px 11px 3.9px 0;
  border-color: transparent #ffffff transparent transparent;
  translate: -100% calc(-50% + 0.1px);
}
@media(max-width:768px){
  .numberOf{
      font-weight:bold;
      font-size:2.4rem;
  }
  .marker{
      border:none;
  }
  .bread_title{
      font-size: 1.2rem;
  }
  .heading_link{
      font-size:1rem;
  }
  .heading_count{
      font-size:.9rem;
  }
  h2.city_name {
      font-size: 1.2rem;
      background: #dedede;
      color: #ffffff;
      height: 2.1rem;
      display: flex;
      align-items: center;
      border-radius: 0 20px 0 0;
      width: 98%;
      padding-left: 1em;
  }
}
@media(min-width:768px) and (max-width:992px){
  .numberOf{
      font-weight:nomal;
      font-size: 3.6rem;
  }
  .marker{
      border-bottom:double #8e8e8e;
  }
  .bread_title{
      font-weight:bold;
      font-size: 1.7rem;
  }
  .heading_link{
      font-size:1.1rem;
  }
  .heading_count{
      font-size:.9rem;
  }
  .logo{
      height:70px;
  }
}
@media(min-width:992px){
    .numberOf{
        font-weight:bold;
        font-size: 4.2rem;
    }
    .marker{
        border:none;
    }
    .bread_title{
        font-size: 1.8rem;
    }
    .heading_link{
        font-size:1.1rem;
    }
    .heading_count{
        font-size:.9rem;
    }
    .card-body{
        height: 5em;
    }
    .logo{
        height:95px;
    }
}
@media(min-width:768px){
    h2.city_name {
        position: relative;
        font-size: 1.5rem;
        padding: 0 65px;
        text-align: center;
        color:#2c2c2c;
    }
    h2.city_name:before {
        position: absolute;
        top: calc(50% - 1px);
        left: 0;
        width: 100%;
        height: 2px;
        content: '';
        background: #2c2c2c;
    }
    h2.city_name span {
        position: relative;
        padding: 0 1em;
        background: #fff;
    }
}

/*ページ内リンク調整*/
#toyama {
  padding-top: 5em;
  margin-top: -5em;
}
#namerikawa {
  padding-top: 5em;
  margin-top: -5em;
}
#uozu {
  padding-top: 5em;
  margin-top: -5em;
}
#kurobe {
  padding-top: 5em;
  margin-top: -5em;
}
#kami_ichi {
  padding-top: 5em;
  margin-top: -5em;
}
#tateyama {
  padding-top: 5em;
  margin-top: -5em;
}
#hunahashi {
  padding-top: 5em;
  margin-top: -5em;
}
#asahi {
  padding-top: 5em;
  margin-top: -5em;
}
#nyu_zen {
  padding-top: 5em;
  margin-top: -5em;
}
#himi {
  padding-top: 5em;
  margin-top: -5em;
}
#takaoka {
  padding-top: 5em;
  margin-top: -5em;
}
#oyabe {
  padding-top: 5em;
  margin-top: -5em;
}
#imizu {
  padding-top: 5em;
  margin-top: -5em;
}
#tonami {
  padding-top: 5em;
  margin-top: -5em;
}
#nanto {
  padding-top: 5em;
  margin-top: -5em;
}
