@charset "UTF-8";
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/************************************************

  SP layout

************************************************/
/*	cmn parts  SP
------------------------------------ */
.com-inner {
  padding: 50px 15px;
}

.com-md-inner {
  padding: 50px 15px;
}

.no-sb {
  margin: 30px auto 0;
}

.com-ib {
  display: inline;
}

.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}

.anchor-mp {
  margin: -70px auto 0;
  padding-top: 70px;
}

.com-txt-box p:nth-of-type(n+2) {
  margin-top: 15px;
}

/*  共通パーツ
------------------------------------ */
.com-bg04 {
  background-position: 15px calc(100% - 10px), calc(100% - 15px) 62px;
  background-size: 100px, 100px;
}

.com-deco {
  width: 80%;
  margin: auto;
}
.com-deco::before {
  width: 70px;
  height: 22px;
  left: -24px;
  bottom: 25px;
}

.com-tel {
  text-align: center;
}
.com-tel-note img {
  height: 10px;
}
.com-tel-link {
  padding-left: 17px;
  background-size: 12px;
  background-position-y: 57%;
  font-size: 2.5rem;
}

.news-post-tag-txt {
  margin: 0 5px 5px 0;
  min-width: 79px;
  font-size: 1.3rem;
}
.news-post-ttl {
  margin-top: 10px;
}

.com-tag {
  flex-direction: column;
  align-items: center;
}
.com-tag-item:nth-of-type(n+2) {
  margin: 25px auto 0;
}
/* =========================================

  main  SP

========================================= */
/* top-greeting  SP
------------------------------------ */
#top-greeting .greeting-inner {
  padding-bottom: 100px;
  background-size: 0, 80px, 0;
  background-position: 5px 95%, 95% 34px, 95% 95%;
}
#top-greeting .greeting-txt-box {
  margin-top: 20px;
}
#top-greeting .greeting-btn {
  margin-top: 35px;
}
#top-greeting .movie {
  margin-top: 30px;
}
#top-greeting .movie-iframe {
  outline-width: 1px;
  outline-offset: 5px;
}

/* top-bnr  SP
------------------------------------ */
#top-bnr::before {
  width: 210px;
  padding-top: 108px;
  bottom: 401px;
}
#top-bnr::after {
  width: 145px;
  padding-top: 124px;
  right: 15px;
}
#top-bnr .bnr-inner {
  padding: 124px 0;
}
#top-bnr .bnr-list {
  padding: 0 15px;
}
#top-bnr .bnr-list-item:nth-of-type(n+2) {
  margin: 50px auto 0;
}
#top-bnr .bnr-list-ttl {
  width: 50px;
  height: 194px;
  font-size: 2rem;
  line-height: 50px;
  top: -28px;
  right: 29px;
}
#top-bnr .bnr-list-ttl.deco01::before {
  width: 43px;
  height: 18px;
  right: -16px;
}
#top-bnr .bnr-list-ttl.deco02::before {
  width: 43px;
  height: 18px;
  top: 5px;
  right: -19px;
}
#top-bnr .bnr-list-ttl.deco03::before {
  width: 43px;
  height: 18px;
  left: -19px;
}
#top-bnr .bnr-list-img.deco::before {
  width: 65px;
  height: 20px;
  left: -10px;
}
#top-bnr .bnr-other {
  max-width: 350px;
  margin: 80px auto 0;
  flex-direction: column;
  align-items: center;
}
#top-bnr .bnr-other-item {
  height: auto;
  padding-top: 14px;
  padding-bottom: 19px;
  background-size: 100%;
}
#top-bnr .bnr-other-item:nth-of-type(n+2) {
  margin: 30px auto 0;
}
#top-bnr .bnr-other-ttl {
  font-size: 1.8rem;
}
#top-bnr .bnr-other-link {
  max-width: 177px;
  height: 40px;
  background-size: 8px;
  background-position-x: calc(100% - 14px);
  line-height: 40px;
  font-size: 1.4rem;
}

/* top-access  SP
------------------------------------ */
#top-access .access-table-wrap {
  margin-top: 20px;
  border-radius: 15px;
}
#top-access .access-img {
  margin: 30px auto 0;
}

/* top-news  SP
------------------------------------ */
#top-news .news-btn {
  width: 172px;
  padding: 16px 15px;
  background-position-x: calc(100% - 15px), center;
  background-size: 9px, cover;
}
#top-news .news-post {
  margin-top: 20px;
  padding: 20px;
}

/* =========================================

sub layout  SP

========================================= */
/* about  SP
------------------------------------ */
#about .sec01-con {
  margin: 20px auto 0;
}
#about .sec01-table {
  margin-top: 20px;
}
#about .sec01-box {
  margin-top: 40px;
}
#about .sec01-box-ttl {
  font-size: 1.8rem;
  padding: 10px 20px;
}
#about .sec01-box-list {
  padding: 15px 20px;
}
#about .sec01-box-list-ttl {
  font-size: 1.7rem;
}
#about .sec02-flx {
  margin-top: 20px;
}
#about .sec02-con {
  margin: 15px auto 0;
}
#about .sec02-txt {
  margin-top: 10px;
}
#about .sec03-txt {
  margin-top: 20px;
  padding: 15px;
  text-align: left;
}
#about .history-box {
  padding: 20px 15px;
}
#about .history-dl dt {
  font-size: 1.8rem;
}

/* service  SP
------------------------------------ */
#service .service-list-item {
  flex-direction: column;
  align-items: center;
}
#service .service-list-item:nth-of-type(2n-1) .service-list-img::before {
  top: 20px;
  left: -20px;
}
#service .service-list-item:nth-of-type(2n) .service-list-img::before {
  bottom: 20px;
  right: -20px;
}
#service .service-list-item:nth-of-type(n+2) {
  margin-top: 30px;
}
#service .service-list-img::before {
  width: 40px;
  height: 13px;
}
#service .service-list-con {
  margin: 15px auto 0;
}
#service .service-list-ttl {
  padding-left: 30px;
  font-size: 1.8rem;
  background-position-y: 10px;
}
#service .service-list-txt {
  margin-top: 10px;
}

/* spot  SP
------------------------------------ */
#spot .spot .ac {
  padding: 0 20px;
  background-size: 13px;
}
#spot .spot-txt {
  margin: 15px auto 0;
}
#spot .spot-list {
  margin-top: 40px;
}
#spot .spot-list-item {
  padding: 20px 15px;
}
#spot .spot-list-item:nth-of-type(n+2) {
  margin-top: 30px;
}
#spot .spot-list-btn-wrap {
  margin: 25px auto 0;
  justify-content: center;
}

/* access  SP
------------------------------------ */
#access .greeting-flx {
  margin-top: 20px;
}
#access .greeting-txt {
  margin: 15px auto 0;
}
#access .access-flx {
  margin-top: 20px;
}
#access .access-list {
  margin: 25px auto 0;
}
#access .access-list-ttl {
  font-size: 1.8rem;
}
#access .access-list-ttl01 {
  background-size: 25px;
}
#access .access-list-ttl02 {
  background-size: 40px;
}
#access .access-map {
  margin-top: 30px;
}
#access .view-list-item {
  width: 48%;
}
#access .view-list-item:not(:nth-of-type(2n-1)) {
  margin-left: 4%;
}
#access .view-list-item:nth-of-type(n+3) {
  margin-top: 4%;
}
#access .view-list-item img {
  width: 100%;
}

/* contact  SP
------------------------------------ */
#contact .contact-ttl {
  height: 50px;
  font-size: 1.8rem;
  line-height: 50px;
}
#contact .contact-ttl::before {
  width: 22px;
  height: 10px;
  bottom: -8px;
}
#contact .contact-tel {
  margin-top: 25px;
}
#contact .contact-tel-link {
  padding-left: 20px;
}
#contact .form {
  margin-top: 40px;
}

/* news  SP
------------------------------------ */
#news .com-tag {
  margin-top: 20px;
}
#news .com-news {
  margin-top: 20px;
}
#news .com-news-link {
  border-radius: 10px;
}
#news .com-news-ttl {
  margin: 0 auto 0;
  padding-bottom: 0;
  font-size: 4.3vw;
  line-height: 2.5;
}
#news .com-news-img {
  margin-left: 2%;
}
#news .com-news-img img {
  border-radius: 10px;
}
#news .itiran .news-post-time {
  font-size: 3.2vw;
  line-height: 1.5;
}
#news .itiran .news-post-tag {
  margin-left: 3%;
}
#news .itiran .news-post-tag-txt {
  padding: 2px 10px;
  font-size: 3.2vw;
  min-width: 63px;
}
#news .detail-box {
  padding: 25px 15px;
}/*# sourceMappingURL=style_sp.css.map */