@charset "UTF-8";
#program .archivement .table-box table tr td.dot-box.TextCenter {
  text-align: center;
}
#program .guide .spot .flex .detail-list dl dd {
  word-break: break-word;
}
#program .guide .spot .flex .detail-list dl.Report dt {
  background: #389722;
}
#program .guide .spot .flex .detail-list dl.Report a {
  color: #0000ff;
}
#program .guide .spot .flex .detail .date .mini {
  width: auto;
  height: auto;
  display: inline-block;
  font-family: "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 16px;
  font-weight: 600;
  background: none;
  color: #407933;
  border-radius: 0;
}
#program .guide .spot .flex .detail .date .row {
  width: 65px;
  border-radius: 20px;
}
@media only screen and (max-width: 767px) {
  #program .guide .spot .flex .detail .date p {
    flex-wrap: wrap;
    gap: 10px;
  }
}
#program .guide .spot .flex .img iframe {
  width: 100%;
  height: 100%;
}
#program .guide .spot .text {
  margin-top: 30px;
  text-align: left;
}
#program .guide .spot .text p {
  margin-bottom: 20px;
}
#program .guide .spot .text p:last-of-type {
  margin-bottom: 0;
}
#program .guide .spot .caution .flex {
  margin-top: 20px;
  justify-content: left;
  gap: 0 20px;
}
@media only screen and (max-width: 767px) {
  #program .guide .spot .caution .flex {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px 0;
  }
  #program .guide .spot .caution .flex dl {
    width: 48%;
  }
  #program .guide .spot .caution .flex dl dt {
    height: auto;
    aspect-ratio: 7/8;
  }
}
#program .guide .spot .caution .flex dl {
  width: 140px;
}
@media only screen and (max-width: 767px) {
  #program .guide .spot .caution .flex dl {
    width: 48%;
  }
}
#program .guide .spot .caution .flex dl.h-h {
  width: 250px;
}
@media only screen and (max-width: 767px) {
  #program .guide .spot .caution .flex dl.h-h {
    width: 48%;
  }
}
#program .guide .spot .caution .flex dl dt {
  width: 100%;
  height: 160px;
}
@media only screen and (max-width: 767px) {
  #program .guide .spot .caution .flex dl dt {
    height: auto;
    aspect-ratio: 3/4;
  }
}
#program .guide .spot .caution .flex dl dt img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  width: 100%;
  height: 100%;
}
#program .guide .spot .caution .flex dl dt img.other {
  -o-object-position: 0 43%;
     object-position: 0 43%;
}
#program .guide .spot .caution .work {
  flex-wrap: wrap;
  gap: 30px 0;
}
#program .guide .spot .caution .work dl {
  width: 48%;
  display: flex;
}
#program .guide .spot .caution .work dl dt {
  width: 210px;
  height: 150px;
}
@media only screen and (max-width: 767px) {
  #program .guide .spot .caution .work dl dt {
    height: 250px;
  }
}
#program .guide .spot .caution .work dl dt.v img {
  -o-object-position: 0 80%;
     object-position: 0 80%;
}
#program .guide .spot .caution .work dl dd {
  width: calc(100% - 210px);
  padding: 10px 20px;
}
#program .guide .spot .caution .work dl dd span {
  display: block;
  font-size: 18px;
  line-height: 1;
  margin-bottom: 10px;
}
#program .guide .spot .caution .work ul li {
  position: relative;
  padding-left: 20px;
}
#program .guide .spot .caution .work ul li:before {
  position: absolute;
  content: "・";
  top: 0;
  left: 0;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  #program .guide .spot .caution .work {
    gap: 40px 0;
  }
  #program .guide .spot .caution .work dl {
    width: 100%;
    flex-direction: column;
    gap: 20px 0;
  }
  #program .guide .spot .caution .work dl dt,
  #program .guide .spot .caution .work dl dd {
    width: 100%;
    padding: 0;
  }
}
#program .guide .spot .caution .gourmet dl {
  margin-bottom: 60px;
}
#program .guide .spot .caution .gourmet dl:last-of-type {
  margin-bottom: 0;
}
#program .guide .spot .caution .gourmet dl dt {
  margin-bottom: 20px;
}
#program .guide .spot .caution .gourmet dl dt span {
  display: block;
  font-size: 18px;
}
#program .guide .spot .caution .gourmet dl dd {
  display: flex;
  gap: 0 20px;
}
@media only screen and (max-width: 767px) {
  #program .guide .spot .caution .gourmet dl dd {
    justify-content: space-between;
  }
}
#program .guide .spot .caution .gourmet dl dd .img {
  width: 300px;
  height: auto;
  aspect-ratio: 3/2;
}
@media only screen and (max-width: 767px) {
  #program .guide .spot .caution .gourmet dl dd .img {
    width: 46%;
  }
}
#program .guide .spot .caution .gourmet dl dd .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#program .guide .spot .caution .gourmet dl dd .img.v {
  width: auto;
  height: 200px;
  aspect-ratio: auto;
}
@media only screen and (max-width: 767px) {
  #program .guide .spot .caution .gourmet dl dd .img.v {
    height: 140px;
  }
}
#program .guide .contact .try a {
  color: #407933;
}
#program .guide .bg dl dt, #program .guide .bg dl dd {
  line-height: 1.2;
}
#program .guide .bg dl dt a {
  font-size: 18px;
  color: #407933;
  min-width: 210px;
  max-width: 220px;
}
#program .guide .table .flex {
  justify-content: left;
  gap: 0 20px;
}
@media only screen and (max-width: 767px) {
  #program .guide .table .flex {
    flex-direction: row;
    margin-bottom: 20px !important;
  }
}
#program .guide .table .flex dl {
  width: 250px;
}
@media only screen and (max-width: 767px) {
  #program .guide .table .flex dl {
    width: 48%;
  }
}
#program .guide .table .flex dl dt {
  width: 100%;
  height: 300px;
}
@media only screen and (max-width: 767px) {
  #program .guide .table .flex dl dt {
    height: auto;
    aspect-ratio: 3/4;
  }
}
#program .guide .table .flex dl dt img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  #program .guide .table .flex dl dd {
    font-size: 13px;
  }
}
#program .guide .table .scroll table {
  width: 100%;
  min-width: 700px;
}
#program .guide .table p {
  margin-bottom: 20px;
}
#program .guide.EndGuide {
  padding: 50px 0 0px;
}
#program .guide .inner {
  position: relative;
}
#program .guide .inner .FloatButton {
  display: block;
  position: sticky;
  bottom: 0;
  right: 0;
  width: 100%;
  text-align: right;
  height: 1px;
}
#program .guide .inner .FloatButton .FloatButtonItem {
  position: relative;
}
#program .guide .inner .FloatButton a {
  position: absolute;
  right: 5px;
  bottom: 5px;
  display: inline-block;
  background: #1a3911;
  padding: 5px 10px;
  color: #fff;
  border-radius: 5px;
}
@media only screen and (max-width: 600px) {
  #program .guide .inner .FloatButton a {
    font-size: 80%;
    right: -5px;
    bottom: 5px;
  }
}
#program .guide .program-detail .flex .img {
  position: relative;
}
#program .guide .program-detail .flex .img span {
  position: absolute;
  right: 20px;
  bottom: 10px;
  color: #fff;
  font-size: 14px;
  text-shadow: 0 0 20px #000;
}
#program .guide .program-detail.mb {
  margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  #program .guide .map .flex .detail-list {
    justify-content: space-between;
    gap: 0;
  }
}
#program .guide .Chirashi .img {
  max-width: 600px;
  width: 100%;
  margin: 0 auto 40px;
}
#program .guide .Chirashi .img a {
  display: block;
}
#program .guide .Chirashi .btn {
  margin-bottom: 40px;
}
#program .guide .Chirashi .btn a {
  margin: 0 auto;
}
#program .guide .chirashi p {
  text-align: right;
  font-size: 12px;
}
#program .download ul li a.doc::before {
  position: absolute;
  content: "";
  background: url("../img/common/doc-icon.png") no-repeat;
  background-size: contain;
  width: 21px;
  height: 25px;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
#program .TrailWalkPage .table .scroll table {
  width: 100%;
  min-width: 700px;
}
#program .TrailWalkPage .table .scroll table tr td:last-child {
  width: 70%;
}
#program .archive .EventArea h4 .Main {
  font-size: 34px;
}
@media only screen and (max-width: 600px) {
  #program .archive .EventArea h4::before {
    font-size: 130%;
    margin-right: 5px;
    vertical-align: middle;
    margin-top: -10px;
  }
}
#program .archive .guide {
  padding: 50px 0 0 !important;
}
@media only screen and (max-width: 600px) {
  #program .archive .guide {
    padding: 10px 0 0 !important;
  }
}

.program_nav ul li p {
  display: block;
  background: #bfbfbf;
  border: 1px solid #bfbfbf;
}
@media only screen and (max-width: 600px) {
  .program_nav ul li a, .program_nav ul li p {
    font-size: 80%;
  }
}
  .program_nav ul li {
    width: calc(25% - 18px);
  }/*close*/
@media (width <= 960px) {
  .program_nav ul li {
    width: calc(20% - 18px);
    width: calc(25% - 18px);
  }/*close*/
}
@media (width <= 767px) {
  .program_nav ul li {
    width: calc(50% - 10px);
  }
}
@media only screen and (max-width: 600px) {
  .program_nav ul {
    gap: 10px;
  }
}

@media only screen and (max-width: 600px) {
  .program .pannkuzu {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 600px) {
  .program .archive .guide {
    padding: 10px 0 0 !important;
  }
}

.application {
  text-align: center;
  border-top: 1px solid #407933;
  padding-top: 10px;
}
.application .try {
  display: inline-block;
  margin: 30px auto 20px auto !important;
}
.application .btn a {
  margin: 0 auto 5px auto;
  background: #1a3911;
}

#program .EndCom {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.5rem;
  font-weight: 500;
  border: 1px solid #ccc;
  padding: 2px 7px;
  line-height: 1.3;
  margin: 3px 5px;
}

#program .OpTourPage.guide .bg dl {
  width: 50%;
  display: flex;
  align-items: center;
  font-weight: 600;
  gap: 0 10px;
  line-height: 1;
}
#program .OpTourPage.guide .bg dd{
  min-width:200px;
}
#program .OpTourPage.guide .bg dl dt a {
  font-size: 18px;
  color: #407933;
  min-width: 210px;
  max-width: 350px;
}

@media only screen and (max-width: 767px) {
  #program .OpTourPage.guide .bg{
    display:block;
  }
  #program .OpTourPage.guide .bg dt,
  #program .OpTourPage.guide .bg dd {
    width:95%;
    margin:8px 0;
  }
  #program .OpTourPage.guide .bg dl {
    width:100%;
    margin:10px 0;
  }
}

@media (width <= 960px) {
  #program .achievements .flex .cnt .thumb {
    height: 70vw;
  }
}
